You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Jacques Le Roux <ja...@les7arts.com> on 2012/01/01 15:03:56 UTC

Re: svn commit: r1052521 [1/8] - in /ofbiz/trunk: ./ applications/order/ applications/product/ applications/product/config/ applications/product/data/ applications/product/data/helpdata/ applications/product/entitydef/ applications/product/lib/ application

Hi Hans,

Sorry this is already a year+ now, but I stumbled upon
trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.min.js
and I think something is not right there. I mean in trunk/applications/product/webapp/catalog/imagemanagement/js by and large, not
only for jquery.min.js.

So could you please put them rather under images/jquery (sharing with jquery-1.7.min.js, using plugin dir for others) in order to
keep things clean and updated?

I don't think it needs to be backported though...

Thanks

Jacques

From: <ha...@apache.org>
> Author: hansbak
> Date: Fri Dec 24 15:22:49 2010
> New Revision: 1052521
>
> URL: http://svn.apache.org/viewvc?rev=1052521&view=rev
> Log:
> the first version of a product image management system when you want to upload and approve prand manupulate product images, see
> catalog -> image management
>
> Added:
>    ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml
>    ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml
>    ofbiz/trunk/applications/product/lib/
>    ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar   (with props)
>    ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar   (with props)
>    ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/
>    ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml
>    ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml
>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/
>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/CropImage.java
>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/FrameImage.java
>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageManagementServices.java
>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageUrlServlet.java
>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ReplaceImage.java
>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/RotateImage.java
>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/WatermarkImage.java
>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/
>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/ImageFrame.groovy
>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/ImageRecentlyApproved.groovy
>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/ImageUpload.groovy
>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/automaticResize.groovy
>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/checkAction.groovy
>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/checkRejected.groovy
>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/seoLocales.groovy
>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/sortSequenceNum.groovy
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/AddMultipleImages.ftl
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/AutomaticResize.ftl
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageCrop.ftl
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageFrame.ftl
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageGallery.ftl
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageRecentlyApproved.ftl
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageRotateButton.ftl
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageRotating.ftl
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageShare.ftl
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageWatermark.ftl
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ResizeImage.ftl
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Jcrop.css
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Jcrop.js
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Jcrop.min.js
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Rotate.js
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.form.js
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.function.js
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.min.js
>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/showPeopleApprove.ftl
>    ofbiz/trunk/applications/product/widget/catalog/ImageManagementForms.xml
>    ofbiz/trunk/applications/product/widget/catalog/ImageManagementScreens.xml
> Modified:
>    ofbiz/trunk/.classpath
>    ofbiz/trunk/applications/order/ofbiz-component.xml
>    ofbiz/trunk/applications/product/build.xml
>    ofbiz/trunk/applications/product/config/ImageProperties.xml
>    ofbiz/trunk/applications/product/config/ProductUiLabels.xml
>    ofbiz/trunk/applications/product/data/ProductDemoData.xml
>    ofbiz/trunk/applications/product/data/ProductHelpData.xml
>    ofbiz/trunk/applications/product/data/ProductSecurityData.xml
>    ofbiz/trunk/applications/product/data/ProductTypeData.xml
>    ofbiz/trunk/applications/product/entitydef/entitymodel.xml
>    ofbiz/trunk/applications/product/ofbiz-component.xml
>    ofbiz/trunk/applications/product/servicedef/secas.xml
>    ofbiz/trunk/applications/product/servicedef/services.xml
>    ofbiz/trunk/applications/product/src/org/ofbiz/product/image/ScaleImage.java
>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/web.xml
>    ofbiz/trunk/applications/product/widget/catalog/CatalogMenus.xml
>    ofbiz/trunk/applications/product/widget/catalog/CommonScreens.xml
>    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilMisc.java
>
> Modified: ofbiz/trunk/.classpath
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/.classpath?rev=1052521&r1=1052520&r2=1052521&view=diff
> ==============================================================================
> --- ofbiz/trunk/.classpath (original)
> +++ ofbiz/trunk/.classpath Fri Dec 24 15:22:49 2010
> @@ -4,6 +4,8 @@
>     <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
>     <classpathentry kind="lib" path="applications/content/lib/lucene-core-3.0.3.jar"/>
>     <classpathentry kind="lib" path="applications/content/lib/poi-3.2-FINAL-20081019.jar"/>
> +    <classpathentry kind="lib" path="framework/base/lib/watermarker-0.0.4.jar"/>
> +    <classpathentry kind="lib" path="framework/base/lib/dozer-4.2.1.jar"/>
>     <classpathentry kind="lib" path="framework/base/lib/ant-1.7.1.jar"/>
>     <classpathentry kind="lib" path="framework/base/lib/ant-junit-1.7.1.jar"/>
>     <classpathentry kind="lib" path="framework/base/lib/ant-launcher-1.7.1.jar"/>
>
> Modified: ofbiz/trunk/applications/order/ofbiz-component.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/ofbiz-component.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/order/ofbiz-component.xml (original)
> +++ ofbiz/trunk/applications/order/ofbiz-component.xml Fri Dec 24 15:22:49 2010
> @@ -38,7 +38,6 @@ under the License.
>     <entity-resource type="data" reader-name="seed" loader="main" location="data/OrderHelpData.xml"/>
>     <entity-resource type="data" reader-name="demo" loader="main" location="data/OrderDemoUser.xml"/>
>     <entity-resource type="data" reader-name="demo" loader="main" location="data/OrderDemoData.xml"/>
> -    <entity-resource type="data" reader-name="demo" loader="main" location="data/SalesOrderDemoData.xml"/>
>
>     <service-resource type="model" loader="main" location="servicedef/services.xml"/>
>     <service-resource type="model" loader="main" location="servicedef/services_cart.xml"/>
>
> Modified: ofbiz/trunk/applications/product/build.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/build.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/product/build.xml (original)
> +++ ofbiz/trunk/applications/product/build.xml Fri Dec 24 15:22:49 2010
> @@ -47,6 +47,7 @@ under the License.
>         <fileset dir="../content/lib" includes="*.jar"/>
>         <fileset dir="../content/build/lib" includes="*.jar"/>
>         <fileset dir="../party/build/lib" includes="*.jar"/>
> +        <fileset dir="lib" includes="*.jar"/>
>     </path>
>
>     <target name="init">
>
> Modified: ofbiz/trunk/applications/product/config/ImageProperties.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ImageProperties.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/product/config/ImageProperties.xml (original)
> +++ ofbiz/trunk/applications/product/config/ImageProperties.xml Fri Dec 24 15:22:49 2010
> @@ -35,4 +35,36 @@ under the License.
>         <dimension name="height" value="600"/>
>         <dimension name="width" value="600"/>
>     </size>
> +    <size name="100x75">
> +        <dimension name="height" value="75"/>
> +        <dimension name="width" value="100"/>
> +    </size>
> +    <size name="150x112">
> +        <dimension name="height" value="112"/>
> +        <dimension name="width" value="150"/>
> +    </size>
> +   <size name="320x240">
> +        <dimension name="height" value="240"/>
> +        <dimension name="width" value="320"/>
> +    </size>
> +     <size name="640x480">
> +        <dimension name="height" value="480"/>
> +        <dimension name="width" value="640"/>
> +    </size>
> +    <size name="800x600">
> +        <dimension name="height" value="600"/>
> +        <dimension name="width" value="800"/>
> +    </size>
> +    <size name="1024x768">
> +        <dimension name="height" value="768"/>
> +        <dimension name="width" value="1024"/>
> +    </size>
> +    <size name="1280x1024">
> +        <dimension name="height" value="1024"/>
> +        <dimension name="width" value="1280"/>
> +    </size>
> +     <size name="1600x1200">
> +        <dimension name="height" value="1200"/>
> +        <dimension name="width" value="1600"/>
> +    </size>
> </imageSize>
>
> Modified: ofbiz/trunk/applications/product/config/ProductUiLabels.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ProductUiLabels.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/product/config/ProductUiLabels.xml (original)
> +++ ofbiz/trunk/applications/product/config/ProductUiLabels.xml Fri Dec 24 15:22:49 2010
> @@ -19,6 +19,39 @@
>     under the License.
> -->
> <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> +    <property key="Approve">
> +        <value xml:lang="en">Approve</value>
> +        <value xml:lang="th">ยืนยัน</value>
> +    </property>
> +    <property key="Approved">
> +        <value xml:lang="en">Approved</value>
> +        <value xml:lang="th">ยืนยันแล้ว</value>
> +    </property>
> +    <property key="AutomaticResize">
> +        <value xml:lang="en">Automatic Resize</value>
> +        <value xml:lang="th">เปลี่ยนขนาดอัตโนมัติ</value>
> +    </property>
> +    <property key="CatalogWebAnalytics">
> +        <value xml:lang="en">Web Analytics</value>
> +    </property>
> +    <property key="CatalogWebAnalyticsConfigs">
> +        <value xml:lang="en">Web Analytics Configuration</value>
> +    </property>
> +    <property key="CatalogWebAnalyticsTypes">
> +        <value xml:lang="en">Web Analytics Types</value>
> +    </property>
> +    <property key="ChooseImageToReplace">
> +        <value xml:lang="en">Choose Image to Replace</value>
> +        <value xml:lang="th">เลือกภาพสำหรับแทนที่</value>
> +    </property>
> +    <property key="ChooseProductID">
> +        <value xml:lang="en">Choose Product ID</value>
> +        <value xml:lang="th">เลือกรหัสสินค้า</value>
> +    </property>
> +    <property key="ChooseReplacementImage">
> +        <value xml:lang="en">Choose Replacement Image</value>
> +        <value xml:lang="th">เลือกภาพที่จะแทนที่</value>
> +    </property>
>     <property key="FacilityActualShippingCharges">
>         <value xml:lang="en">Actual shipping charges</value>
>         <value xml:lang="it">Ricarico di spedizione attuale</value>
> @@ -4831,7 +4864,59 @@
>         <value xml:lang="zh">äººå·¥æœåŠ¡å¥½çš„æ ‡å‡†ç±»åž‹æ ‡è¯†</value>
>         <value xml:lang="zh_TW">å·¥é …æˆå“è¦ç¯„é¡žåž‹ID</value>
>     </property>
> -    <property key="PageTitleAddFacilityGroupRollup">
> +    <property key="Gallery">
> +        <value xml:lang="en">Gallery</value>
> +        <value xml:lang="th">แกลลอรี่</value>
> +    </property>
> +    <property key="ImageApprove">
> +        <value xml:lang="en">Approve</value>
> +        <value xml:lang="th">ยืนยันรูปภาพ</value>
> +    </property>
> +
> +    <property key="ImageCropping">
> +        <value xml:lang="en">Image Cropping</value>
> +        <value xml:lang="th">ตัดภาพ</value>
> +    </property>
> +    <property key="ImageFrames">
> +        <value xml:lang="en">Image Frames</value>
> +        <value xml:lang="th">เฟรม</value>
> +    </property>
> +    <property key="ImageManagement">
> +        <value xml:lang="en">Image Management</value>
> +        <value xml:lang="th">จัดการรูปภาพ</value>
> +    </property>
> +    <property key="ImageManagementApplication">
> +        <value xml:lang="en">Image Management Application</value>
> +        <value xml:lang="th">โปรแกรมจัดการรูปภาพ</value>
> +    </property>
> +    <property key="ImageRecentlyApproved">
> +        <value xml:lang="en">Recently Approved</value>
> +        <value xml:lang="th">รูปภาพยืนยันล่าสุด</value>
> +    </property>
> +    <property key="ImageRejected">
> +        <value xml:lang="en">Rejected</value>
> +        <value xml:lang="th">ปฏิเสธรูปภาพ</value>
> +    </property>
> +    <property key="ImageRotating">
> +        <value xml:lang="en">Image Rotating</value>
> +        <value xml:lang="th">หมุนภาพ</value>
> +    </property>
> +    <property key="ImageUpload">
> +        <value xml:lang="en">Upload</value>
> +        <value xml:lang="th">อัพโหลดรูป</value>
> +    </property>
> +    <property key="ImageUploadList">
> +        <value xml:lang="en">Image Upload List</value>
> +        <value xml:lang="th">รูปภาพที่อัพโหลด</value>
> +    </property>
> +    <property key="ImageWatermarking">
> +        <value xml:lang="en">Image Watermarking</value>
> +        <value xml:lang="th">ลายน้ำ</value>
> +    </property>
> +    <property key="Manage">
> +        <value xml:lang="en">Manage</value>
> +        <value xml:lang="th">จัดการ</value>
> +    </property>    <property key="PageTitleAddFacilityGroupRollup">
>         <value xml:lang="de">Einrichtungsgruppe Rollup hinzufügen</value>
>         <value xml:lang="en">Add Facility Group Rollup</value>
>         <value xml:lang="es">Añadir despliegue de grupo de almacenes</value>
> @@ -23524,4 +23609,28 @@
>         <value xml:lang="zh">ä½ æœç´¢</value>
>         <value xml:lang="zh_TW">ä½ æ‰€æœç´¢çš„</value>
>     </property>
> +    <property key="RecentlyApproved">
> +        <value xml:lang="en">Recently Approved</value>
> +        <value xml:lang="th">แกลลอรี่</value>
> +    </property>
> +    <property key="Rejected">
> +        <value xml:lang="en">Rejected</value>
> +        <value xml:lang="th">ปฏิเสธ</value>
> +    </property>
> +    <property key="Replace">
> +        <value xml:lang="en">Replace</value>
> +        <value xml:lang="th">แทนที่</value>
> +    </property>
> +    <property key="ShareImage">
> +        <value xml:lang="en">Share Image</value>
> +        <value xml:lang="th">แบ่งบันภาพ</value>
> +    </property>
> +    <property key="Upload">
> +        <value xml:lang="en">Upload</value>
> +        <value xml:lang="th">อัพโหลด</value>
> +    </property>
> +    <property key="WelcomeMessage">
> +        <value xml:lang="en">Welcome to the Image Management</value>
> +        <value xml:lang="th">ยินดีต้อนรับสู้รบบการจัดการรูปà¸
> าพ</value>
> +    </property>
> </resource>
>
> Modified: ofbiz/trunk/applications/product/data/ProductDemoData.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductDemoData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/product/data/ProductDemoData.xml (original)
> +++ ofbiz/trunk/applications/product/data/ProductDemoData.xml Fri Dec 24 15:22:49 2010
> @@ -22,5 +22,25 @@ under the License.
>     <!-- Limited user demo -->
>     <UserLoginSecurityGroup groupId="CATALOGADMIN_LTD" userLoginId="ltdadmin" fromDate="2001-01-01 12:00:00.0"/>
>     <UserLoginSecurityGroup groupId="CATALOGADMIN_LTD" userLoginId="ltdadmin1" fromDate="2001-01-01 12:00:00.0"/>
> +
> +    <!-- Image Management user demo -->
> +    <Party partyId="imageAdmin" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
> +    <Person partyId="imageAdmin" firstName="Image Management" lastName="Administrator"/>
> +    <UserLogin userLoginId="imageAdmin" partyId="imageAdmin" currentPassword="{SHA}47b56994cbc2b6d10aa1be30f70165adb305a41a"/>
> +    <UserLoginSecurityGroup userLoginId="imageAdmin" groupId="FULLADMIN" fromDate="2010-01-01 12:00:00.0"/>
> +    <UserLoginSecurityGroup userLoginId="imageAdmin" groupId="IMAGEADMIN" fromDate="2010-01-01 12:00:00.0"/>
> +    <UserLoginSecurityGroup userLoginId="imageAdmin" groupId="IMAGEUPLOAD" fromDate="2010-01-01 12:00:00.0"/>
> +
> +    <Party partyId="imageAdmin2" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
> +    <Person partyId="imageAdmin2" firstName="Image Management" lastName="Administrator 2"/>
> +    <UserLogin userLoginId="imageAdmin2" partyId="imageAdmin2" currentPassword="{SHA}47b56994cbc2b6d10aa1be30f70165adb305a41a"/>
> +    <UserLoginSecurityGroup userLoginId="imageAdmin2" groupId="FULLADMIN" fromDate="2010-01-01 12:00:00.0"/>
> +    <UserLoginSecurityGroup userLoginId="imageAdmin2" groupId="IMAGEAPPROVE" fromDate="2010-01-01 12:00:00.0"/>
> +
> +    <Party partyId="imageUpload" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
> +    <Person partyId="imageUpload" firstName="Image Management" lastName="Upload"/>
> +    <UserLogin userLoginId="imageUpload" partyId="imageUpload" currentPassword="{SHA}47b56994cbc2b6d10aa1be30f70165adb305a41a"/>
> +    <UserLoginSecurityGroup userLoginId="imageUpload" groupId="FULLADMIN" fromDate="2010-01-01 12:00:00.0"/>
> +    <UserLoginSecurityGroup userLoginId="imageUpload" groupId="IMAGEUPLOAD" fromDate="2010-01-01 12:00:00.0"/>
>
> </entity-engine-xml>
>
> Modified: ofbiz/trunk/applications/product/data/ProductHelpData.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductHelpData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/product/data/ProductHelpData.xml (original)
> +++ ofbiz/trunk/applications/product/data/ProductHelpData.xml Fri Dec 24 15:22:49 2010
> @@ -26,4 +26,9 @@ under the License.
>     <Content contentId="PRODCATALOG_main" contentTypeId="DOCUMENT" contentName="Main Catalog Help"
> templateDataResourceId="HELP_TEMPL" dataResourceId="PRODCATALOG_main" statusId="CTNT_IN_PROGRESS" mimeTypeId="text/html"/>
>     <ContentAssoc contentId="HELP_PRODUCT" contentIdTo="PRODCATALOG_main" contentAssocTypeId="TREE_CHILD" fromDate="2006-01-12
> 01:01:01" sequenceNum="000" mapKey="PRODCATALOG_main"/>
>
> +    <!-- Image Management -->
> +    <DataResource dataResourceId="IMAGEMANAGEMENT_MAIN" localeString="en" dataResourceTypeId="OFBIZ_FILE"
> objectInfo="applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml" dataTemplateTypeId="NONE" statusId="CTNT_IN_PROGRESS"
> dataResourceName="Image Management" mimeTypeId="text/xml" isPublic="Y" />
> +    <Content contentId="IMAGEMANAGEMENT_MAIN" contentTypeId="DOCUMENT" contentName="Image Management"
> templateDataResourceId="HELP_TEMPL" dataResourceId="IMAGEMANAGEMENT_MAIN" statusId="CTNT_IN_PROGRESS" mimeTypeId="text/html"/>
> +    <ContentAssoc contentId="PRODCATALOG_main" contentIdTo="IMAGEMANAGEMENT_MAIN" contentAssocTypeId="TREE_CHILD"
> fromDate="2006-01-12 01:01:01" sequenceNum="01" mapKey="PRODCATALOG_Imagemanagement"/>
> +
> </entity-engine-xml>
>
> Modified: ofbiz/trunk/applications/product/data/ProductSecurityData.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductSecurityData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/product/data/ProductSecurityData.xml (original)
> +++ ofbiz/trunk/applications/product/data/ProductSecurityData.xml Fri Dec 24 15:22:49 2010
> @@ -92,4 +92,20 @@ under the License.
>     <SecurityGroupPermission groupId="FLEXADMIN" permissionId="FACILITY_VIEW"/>
>     <SecurityGroupPermission groupId="VIEWADMIN" permissionId="FACILITY_VIEW"/>
>     <SecurityGroupPermission groupId="BIZADMIN" permissionId="FACILITY_ADMIN"/>
> +
> +    <!-- Image Management security -->
> +    <SecurityGroup description="Image Management Admin." groupId="IMAGEADMIN"/>
> +    <SecurityPermission description="All operations in the Image Management." permissionId="IMAGE_MANAGEMENT_ADMIN"/>
> +    <SecurityGroupPermission groupId="IMAGEADMIN" permissionId="IMAGE_MANAGEMENT_ADMIN"/>
> +    <SecurityGroupPermission groupId="IMAGEADMIN" permissionId="IMAGE_MANAGEMENT_APPROVE"/>
> +    <SecurityGroupPermission groupId="IMAGEADMIN" permissionId="IMAGE_MANAGEMENT_UPLOAD"/>
> +    <SecurityGroupPermission groupId="FULLADMIN" permissionId="IMAGE_MANAGEMENT_ADMIN"/>
> +
> +    <SecurityGroup description="Image Management Approve" groupId="IMAGEAPPROVE"/>
> +    <SecurityPermission description="Approve photos in the Image Management." permissionId="IMAGE_MANAGEMENT_APPROVE"/>
> +    <SecurityGroupPermission groupId="IMAGEAPPROVE" permissionId="IMAGE_MANAGEMENT_APPROVE"/>
> +
> +    <SecurityGroup description="Image Management Upload." groupId="IMAGEUPLOAD"/>
> +    <SecurityPermission description="Upload photos in the Image Management." permissionId="IMAGE_MANAGEMENT_UPLOAD"/>
> +    <SecurityGroupPermission groupId="IMAGEUPLOAD" permissionId="IMAGE_MANAGEMENT_UPLOAD"/>
> </entity-engine-xml>
>
> Modified: ofbiz/trunk/applications/product/data/ProductTypeData.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductTypeData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/product/data/ProductTypeData.xml (original)
> +++ ofbiz/trunk/applications/product/data/ProductTypeData.xml Fri Dec 24 15:22:49 2010
> @@ -584,7 +584,49 @@ under the License.
>     <WebSite webSiteId="FACILITY" siteName="Facility Manager" visualThemeSetId="BACKOFFICE"/>
>
>     <WebAnalyticsType description="Web Analytics" hasTable="N" parentTypeId="" webAnalyticsTypeId="WEB_ANALYTICS"/>
> -    <WebAnalyticsType webAnalyticsTypeId="GOOGLE_ANALYTICS" parentTypeId="WEB_ANALYTICS" hasTable="N" description="Google
> Analytics"/>
> +    <WebAnalyticsType webAnalyticsTypeId="GOOGLE_ANALYTICS" parentTypeId="WEB_ANALYTICS" hasTable="N" description="Google
> Analytics"/>
>     <WebAnalyticsType webAnalyticsTypeId="BING_ANALYTICS" parentTypeId="WEB_ANALYTICS" hasTable="N" description="Bing Analytics"/>
> -
> +
> +    <!-- Image Management -->
> +    <RoleType roleTypeId="IMAGEAPPROVER" hasTable="N" description="Image Approver"/>
> +
> +    <PartyContentType partyContentTypeId="IMAGEAPPROVER" description="Image Approver"/>
> +
> +    <ProductContentType description="Image" hasTable="N" parentTypeId="" productContentTypeId="IMAGE"/>
> +    <ProductContentType description="Frame" hasTable="N" parentTypeId="" productContentTypeId="FRAME"/>
> +
> +    <ContentType contentTypeId="IMAGE_FRAME" description="Frame Image"/>
> +
> +    <ContentAssocType contentAssocTypeId="IMAGE_THUMBNAIL" description="Image Thumbnail"/>
> +
> +    <StatusType description="Image Management" hasTable="N" parentTypeId="" statusTypeId="IMAGE_MANAGEMENT_ST"/>
> +    <StatusItem description="Pending" sequenceId="01" statusCode="PENDING" statusId="IM_PENDING"
> statusTypeId="IMAGE_MANAGEMENT_ST"/>
> +    <StatusItem description="Approved" sequenceId="02" statusCode="APPROVED" statusId="IM_APPROVED"
> statusTypeId="IMAGE_MANAGEMENT_ST"/>
> +    <StatusItem description="Rejected" sequenceId="03" statusCode="REJECTED" statusId="IM_REJECTED"
> statusTypeId="IMAGE_MANAGEMENT_ST"/>
> +
> +    <ProductFeatureCategory productFeatureCategoryId="IMAGE" description="Image"/>
> +    <ProductFeatureCategory productFeatureCategoryId="TEXT" description="Text"/>
> +
> +    <ProductFeature productFeatureId="IMAGE_AVATAR" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE" description="100
> X 75 (avatar)" defaultSequenceNum="1"/>
> +    <ProductFeature productFeatureId="IMAGE_THUMBNAIL" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
> description="150 X 112 (thumbnail)" defaultSequenceNum="2"/>
> +    <ProductFeature productFeatureId="IMAGE_WEBSITE" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
> description="320 X 240 (for websites and email)" defaultSequenceNum="3"/>
> +    <ProductFeature productFeatureId="IMAGE_BOARD" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE" description="640
> X 480 (for message boards)" defaultSequenceNum="4"/>
> +    <ProductFeature productFeatureId="IMAGE_MONITOR15" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
> description="800 X 600 (15-inch monitor)" defaultSequenceNum="5"/>
> +    <ProductFeature productFeatureId="IMAGE_MONITOR17" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
> description="1024 X 768 (17-inch monitor)" defaultSequenceNum="6"/>
> +    <ProductFeature productFeatureId="IMAGE_MONITOR19" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
> description="1280 X 1024 (19-inch monitor)" defaultSequenceNum="7"/>
> +    <ProductFeature productFeatureId="IMAGE_MONITOR21" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
> description="1600 X 1200 (21-inch monitor)" defaultSequenceNum="8"/>
> +
> +    <ProductFeature productFeatureId="TEXT_SMALL" productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT" description="Small"
> defaultSequenceNum="1"/>
> +    <ProductFeature productFeatureId="TEXT_MIDDLE" productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
> description="Middle" defaultSequenceNum="2"/>
> +    <ProductFeature productFeatureId="TEXT_LARGE" productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT" description="Large"
> defaultSequenceNum="3"/>
> +    <ProductFeature productFeatureId="TEXT_VERYLARGE" productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
> description="Very Large" defaultSequenceNum="4"/>
> +
> +    <ProductFeature productFeatureId="TEXT_WHITE" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
> description="White" defaultSequenceNum="1"/>
> +    <ProductFeature productFeatureId="TEXT_GRAY" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT" description="Gray"
> defaultSequenceNum="2"/>
> +    <ProductFeature productFeatureId="TEXT_BLACK" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
> description="Black" defaultSequenceNum="3"/>
> +    <ProductFeature productFeatureId="TEXT_RED" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT" description="Red"
> defaultSequenceNum="4"/>
> +    <ProductFeature productFeatureId="TEXT_GREEN" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
> description="Green" defaultSequenceNum="5"/>
> +    <ProductFeature productFeatureId="TEXT_BLUE" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT" description="Blue"
> defaultSequenceNum="6"/>
> +    <ProductFeature productFeatureId="TEXT_YELLOW" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
> description="Yellow" defaultSequenceNum="7"/>
> +
> </entity-engine-xml>
>
> Added: ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml?rev=1052521&view=auto
> ==============================================================================
> --- ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml (added)
> +++ ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml Fri Dec 24 15:22:49 2010
> @@ -0,0 +1,226 @@
> +<?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"
> +    version="5.0" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
> +    xsi:schemaLocation="http://docbook.org/ns/docbook ../../../content/dtd/docbook.xsd"
> +    xmlns="http://docbook.org/ns/docbook">
> +    <title>Image Management Help.</title>
> +    <para>The Image Management module manages many kind of image what user want. There are various functions including 'Gallery',
> 'Upload', 'Approved', 'Manage' etc.</para>
> +    <para>
> +         <orderedlist>
> +            <listitem>
> +                <para>Go to Catalog Component.</para>
> +                <para>Go to Image Management.</para>
> +            </listitem>
> +         </orderedlist>
> +    </para>
> +
> +    <section>
> +        <title>How To Add Security Group For Image Management User</title>
> +        <para>There are three security groups related in the Image Management including 'IMAGEADMIN', 'IMAGEAPPROVE' and '
> IMAGEUPLOAD'.</para>
> +        <para>
> +            <orderedlist>
> +                <listitem>
> +                    <para>Go to 'Party' component.</para>
> +                    <para>Search 'UserLogin' or 'Party Id'.</para>
> +                    <para>Click 'UserLogin' or 'Party Id'.</para>
> +                    <para>At 'User Name(s)', click 'Security Groups' button.</para>
> +                    <para>At 'Add UserLogin to Security Group', select group 'IMAGEADMIN Image Management Admin' for use all
> operations in the Image Management.</para>
> +                    <para>select 'IMAGEUPLOAD Image Management Upload': To add party's permission for uploading, or select
> 'IMAGEAPPROVE Image Management Approve': To add party's permission for approving.</para>
> +                </listitem>
> +            </orderedlist>
> +        </para>
> +    </section>
> +    <section>
> +        <title>How To Add Role For Approve Image To Party Id</title>
> +        <para>When user click partyId into party's screen already. Select the submenu 'Role(s)' to add the role to party</para>
> +        <para>There is Add To Role screenlet, select role 'Image Approver'(on the combobox role type Id) then click 'add'
> button.</para>
> +    </section>
> +    <section>
> +        <title>Gallery</title>
> +        <section>
> +            <para>Gallery shows all images which have approved.</para>
> +            <para>Note: Everybody can access Gallery function.</para>
> +            <orderedlist>
> +                <listitem>
> +                    <para>Click 'Gallery' button, then choose a 'Product Id' by type or click a find icon.</para>
> +                    <para>Click 'Submit' button, then you will see all images which have approved.</para>
> +                    <para>You can click 'Share' button that generates any codes to share your images to any people.</para>
> +                </listitem>
> +            </orderedlist>
> +        </section>
> +    </section>
> +    <section>
> +        <title>Upload</title>
> +        <section>
> +            <para>In this function, you can upload image files into system. You can upload many image files up to 10
> files.</para>
> +            <para>Note: You must have Image Management Upload permission for access Upload function.</para>
> +            <orderedlist>
> +                <listitem>
> +                    <para>Go to 'Upload' section, Enter 'Product Id' by type or click a find icon.</para>
> +                    <para>Optional, you can specify the size of images.</para>
> +                    <para>Then click 'Browse' button to choose image file(s).</para>
> +                    <para>Click 'Upload' button.</para>
> +                </listitem>
> +            </orderedlist>
> +        </section>
> +    </section>
> +    <section>
> +        <title>Recently Approved</title>
> +        <section>
> +            <para>In this function, you can see the images which have been approved for 14 days recently.</para>
> +            <para>Note: You must have Image Management Admin permission for access this function.</para>
> +            <orderedlist>
> +                <listitem>
> +                    <para>Click 'Recently Approved' Button, then you will see the lists of recently approved product which are
> separated by date.</para>
> +                    <para>Click on product id to see its images with details.</para>
> +                </listitem>
> +            </orderedlist>
> +        </section>
> +    </section>
> +    <section>
> +        <title>Approve</title>
> +        <section>
> +            <para>In this function, you can set the status of each image including 'Approve', 'Pending' and 'Rejected'.</para>
> +            <para>Note: You must have Image Management Admin permission for access this function.</para>
> +            <orderedlist>
> +                <listitem>
> +                    <para>Click 'Approve' Button, then specify the status of each image.</para>
> +                    <para>Choose 'Approve' status for approve image.</para>
> +                    <para>Choose 'Reject' status for reject image..</para>
> +                    <para>Choose 'Pending' status for pending image..</para>
> +                    <para>Click 'Submit' button.</para>
> +                </listitem>
> +            </orderedlist>
> +            <para>The images will be approved if all image administrators approved them. But if only one person rejects an image
> then that image will be rejected.</para>
> +        </section>
> +    </section>
> +    <section>
> +        <title>Rejected</title>
> +        <section>
> +            <para>The Rejected function shows the images which have rejected.</para>
> +            <para>Note: You must have Image Management Admin permission for access this function.</para>
> +            <orderedlist>
> +                <listitem>
> +                    <para>Click 'Rejected' button, then you specify the reason of rejection each image.</para>
> +                    <para>Then click 'Submit' button.</para>
> +                </listitem>
> +            </orderedlist>
> +        </section>
> +    </section>
> +    <section>
> +        <title>Manage</title>
> +        <section>
> +            <para>You can edit image such as add frame, embedded watermark, crop image etc. You can also add caption, sort order,
> exclude image and choose thumbnail in this function.</para>
> +            <para>Note: You must have Image Management Admin permission for access this function.</para>
> +            <orderedlist>
> +                <listitem>
> +                    <para>Click 'Manage' Button, then you can choose action including 'Frame', 'Watermark', 'Crop' and 'Rotate'
> (see below for more details).</para>
> +                    <para>Enter your image caption.</para>
> +                    <para>Sort order of image by enter order number.</para>
> +                    <para>Exclude image by tick excluded checkbox.</para>
> +                    <para>Select image thumbnail of product.</para>
> +                    <para>Click 'Submit' button.</para>
> +                </listitem>
> +            </orderedlist>
> +            <section>
> +                <title>- Frame</title>
> +                <section>
> +                    <para>In Frame function, you can merge your image with the frame image (transparent image file e.g. PNG type)
> together.</para>
> +                    <para>The frame image should be larger than selected image.</para>
> +                    <orderedlist>
> +                        <listitem>
> +                            <para>Choose 'Frame' then choose the image you want to merge frame.</para>
> +                            <para>Select the frame image by browsing transparent image file, such as PNG type.</para>
> +                            <para>Click 'Upload' button to upload the frame image.</para>
> +                            <para>Enter width and height of image.</para>
> +                            <para>Optional, you click 'Preview' to see example image.</para>
> +                            <para>Click 'Create' button.</para>
> +                        </listitem>
> +                    </orderedlist>
> +                </section>
> +            </section>
> +            <section>
> +                <title>- Watermark</title>
> +                <section>
> +                    <para>In Watermark function, you can draw some text on your image.</para>
> +                    <orderedlist>
> +                        <listitem>
> +                            <para>Choose 'Watermark' then choose image you want.</para>
> +                            <para>Enter any text, Choose text color, text size and text position.</para>
> +                            <para>Optional, you can preview image by click 'Preview' button.</para>
> +                            <para>Click 'Watermark' button.</para>
> +                        </listitem>
> +                    </orderedlist>
> +                </section>
> +            </section>
> +        </section>
> +        <section>
> +            <title>- Crop</title>
> +            <section>
> +                <para>You can crop any images in this function.</para>
> +                <orderedlist>
> +                    <listitem>
> +                        <para>Choose 'Crop' then choose your image.</para>
> +                        <para>Move your cursor on the image, then drag your mouse to crop image.</para>
> +                        <para>You can see the preview image in the right hand side.</para>
> +                        <para>Finally, you click 'Crop' button.</para>
> +                    </listitem>
> +                </orderedlist>
> +            </section>
> +        </section>
> +        <section>
> +            <title>- Rotate</title>
> +            <section>
> +                <para>You can rotate images in this function.</para>
> +                <orderedlist>
> +                    <listitem>
> +                        <para>Choose 'Rotate' then click clockwise or counterclockwise button for ratating image.</para>
> +                        <para>Click 'Submit' button</para>
> +                    </listitem>
> +                </orderedlist>
> +            </section>
> +        </section>
> +    </section>
> +    <section>
> +        <title>Replace</title>
> +        <section>
> +            <para>In this function, you can replace the selected image with other image.</para>
> +            <para>The image which you want to replace must be approved first.</para>
> +            <orderedlist>
> +                <listitem>
> +                    <para>Click 'Replace' button, Enter 'Product Id' by type or click a find icon.</para>
> +                    <para>Then choose the image which you want to replace.</para>
> +                    <para>Choose the other image to replace with the selected image.</para>
> +                    <para>Click 'Submit' button.</para>
> +                </listitem>
> +            </orderedlist>
> +        </section>
> +    </section>
> +    <!--<section>
> +        <title>Automatic Resize</title>
> +        <section>
> +            <para>You can resize any images in this function.</para>
> +            <orderedlist>
> +                <listitem>
> +                    <para>Go to 'Automatic Resize' section, Enter 'Product Id' by type or click a find icon.</para>
> +                    <para>Choose Image to resize, then you can select a size.</para>
> +                    <para>Click 'Upload Image'.</para>
> +                </listitem>
> +            </orderedlist>
> +        </section>
> +    </section>-->
> +</section>
>
> Modified: ofbiz/trunk/applications/product/entitydef/entitymodel.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/product/entitydef/entitymodel.xml (original)
> +++ ofbiz/trunk/applications/product/entitydef/entitymodel.xml Fri Dec 24 15:22:49 2010
> @@ -4814,4 +4814,15 @@ under the License.
>         <key-map field-name="productPromoContentTypeId" rel-field-name="productContentTypeId"/>
>       </relation>
>     </entity>
> +
> +    <!-- Image Management -->
> +    <extend-entity entity-name="ProductContent">
> +        <field name="defaultSequenceNum" type="numeric"/>
> +        <field name="enable" type="indicator"/>
> +        <field name="thumbnail" type="indicator"/>
> +    </extend-entity>
> +
> +    <extend-entity entity-name="PartyContent">
> +        <field name="statusId" type="id"></field>
> +    </extend-entity>
> </entitymodel>
>
> Added: ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml?rev=1052521&view=auto
> ==============================================================================
> --- ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml (added)
> +++ ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml Fri Dec 24 15:22:49 2010
> @@ -0,0 +1,46 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> +    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
> +
> +    <view-entity entity-name="PartyContentProductContentAndInfo"
> +            package-name="org.ofbiz.content.content"
> +            title="PartyContent, ProductContent, Content and DataResource View Entity">
> +      <member-entity entity-alias="PAC" entity-name="PartyContent"/>
> +      <member-entity entity-alias="PRC" entity-name="ProductContent"/>
> +      <member-entity entity-alias="CO" entity-name="Content"/>
> +      <member-entity entity-alias="DR" entity-name="DataResource"/>
> +      <alias-all entity-alias="PAC"/>
> +      <alias-all entity-alias="PRC">
> +      <exclude field="contentId"/>
> +      </alias-all>
> +      <alias-all entity-alias="CO">
> +      <exclude field="contentId"/>
> +      </alias-all>
> +      <alias-all entity-alias="DR" prefix="dr"/>
> +      <view-link entity-alias="PAC" rel-entity-alias="PRC">
> +        <key-map field-name="contentId"/>
> +      </view-link>
> +      <view-link entity-alias="PRC" rel-entity-alias="CO">
> +        <key-map field-name="contentId"/>
> +      </view-link>
> +      <view-link entity-alias="CO" rel-entity-alias="DR">
> +        <key-map field-name="dataResourceId"/>
> +      </view-link>
> +      <relation type="one-nofk" rel-entity-name="ElectronicText">
> +        <key-map field-name="dataResourceId"/>
> +      </relation>
> +      <relation type="one-nofk" rel-entity-name="ImageDataResource">
> +        <key-map field-name="dataResourceId"/>
> +      </relation>
> +      <relation type="one-nofk" rel-entity-name="OtherDataResource">
> +        <key-map field-name="dataResourceId"/>
> +      </relation>
> +      <relation type="many" rel-entity-name="ContentAssocDataResourceViewFrom">
> +        <key-map field-name="contentId" rel-field-name="contentIdStart"/>
> +      </relation>
> +      <relation type="many" rel-entity-name="ContentAssocDataResourceViewTo">
> +        <key-map field-name="contentId" rel-field-name="contentIdStart"/>
> +      </relation>
> +    </view-entity>
> +
> +</entitymodel>
>
> Added: ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar?rev=1052521&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
>
> Added: ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar?rev=1052521&view=auto
> ==============================================================================
> Binary file - no diff available.
>
> Propchange: ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
>
> Modified: ofbiz/trunk/applications/product/ofbiz-component.xml
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/ofbiz-component.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/product/ofbiz-component.xml (original)
> +++ ofbiz/trunk/applications/product/ofbiz-component.xml Fri Dec 24 15:22:49 2010
> @@ -24,8 +24,10 @@ under the License.
>     <resource-loader name="main" type="component"/>
>     <classpath type="dir" location="config"/>
>     <classpath type="jar" location="build/lib/*"/>
> +    <classpath type="jar" location="lib/*"/>
>
>     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
> +    <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_view.xml"/>
>     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_old.xml"/>
>     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_shipment.xml"/>
>     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_olap.xml"/>
>
> Added: ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml?rev=1052521&view=auto
> ==============================================================================
> --- ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml (added)
> +++ ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml Fri Dec 24 15:22:49 2010
> @@ -0,0 +1,59 @@
> +<?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.
> +-->
> +
> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> +        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
> +
> +    <simple-method method-name="setImageThumbnail" short-description="Set Image Thumbnail">
> +        <!-- change status lastest thumbnail to 'N' -->
> +        <entity-and list="lastestThumbnails" entity-name="ProductContent">
> +            <field-map field-name="productId" from-field="parameters.productId"/>
> +            <field-map field-name="productContentTypeId" value="IMAGE"/>
> +            <field-map field-name="thumbnail" value="Y"/>
> +        </entity-and>
> +        <first-from-list entry="lastestThumbnail" list="lastestThumbnails"/>
> +        <if-not-empty field="lastestThumbnail">
> +            <set field="lastestThumbnail.thumbnail" value="N"/>
> +            <store-value value-field="lastestThumbnail"/>
> +        </if-not-empty>
> +
> +        <!-- set status thumbnail to 'Y' -->
> +        <entity-and list="productContents" entity-name="ProductContent">
> +            <field-map field-name="productId" from-field="parameters.productId"/>
> +            <field-map field-name="contentId" from-field="parameters.contentId"/>
> +            <field-map field-name="productContentTypeId" value="IMAGE"/>
> +        </entity-and>
> +        <first-from-list entry="productContent" list="productContents"/>
> +        <set field="productContent.thumbnail" value="Y"/>
> +        <store-value value-field="productContent"/>
> +
> +        <!-- set thumbnail to product -->
> +        <entity-and list="productContentAndInfos" entity-name="ProductContentAndInfo">
> +            <field-map field-name="productId" from-field="parameters.productId"/>
> +            <field-map field-name="contentId" from-field="parameters.contentId"/>
> +            <field-map field-name="productContentTypeId" value="IMAGE"/>
> +        </entity-and>
> +        <if-not-empty field="productContentAndInfos">
> +            <set field="setThumbnailMap.productId" from-field="parameters.productId"/>
> +            <set field="setThumbnailMap.contentIdTo" from-field="parameters.contentIdTo"/>
> +            <call-service service-name="setThumbnail" in-map-name="setThumbnailMap"/>
> +        </if-not-empty>
> +    </simple-method>
> +</simple-methods>
>
> Added: ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml?rev=1052521&view=auto
> ==============================================================================
> --- ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml (added)
> +++ ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml Fri Dec 24 15:22:49 2010
> @@ -0,0 +1,370 @@
> +<?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.
> +-->
> +
> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> +        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
> +
> +    <simple-method method-name="UploadProductImages" short-description="Method to upload multiple images for product">
> +        <set-service-fields service-name="addMultipleuploadForProduct" map="parameters" to-map="addAdditionalViewForProductMap"/>
> +        <if-not-empty field="parameters.additionalImageOne">
> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageOne"/>
> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
> from-field="parameters._additionalImageOne_fileName"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
> from-field="parameters._additionalImageOne_contentType"/>
> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
> +            <clear-field field="addAdditionalViewForProductMap"/>
> +        </if-not-empty>
> +        <if-not-empty field="parameters.additionalImageTwo">
> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageTwo"/>
> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
> from-field="parameters._additionalImageTwo_fileName"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
> from-field="parameters._additionalImageTwo_contentType"/>
> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
> +            <clear-field field="addAdditionalViewForProductMap"/>
> +        </if-not-empty>
> +        <if-not-empty field="parameters.additionalImageThree">
> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageThree"/>
> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
> from-field="parameters._additionalImageThree_fileName"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
> from-field="parameters._additionalImageThree_contentType"/>
> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
> +            <clear-field field="addAdditionalViewForProductMap"/>
> +        </if-not-empty>
> +        <if-not-empty field="parameters.additionalImageFour">
> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageFour"/>
> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
> from-field="parameters._additionalImageFour_fileName"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
> from-field="parameters._additionalImageFour_contentType"/>
> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
> +            <clear-field field="addAdditionalViewForProductMap"/>
> +        </if-not-empty>
> +        <if-not-empty field="parameters.additionalImageFive">
> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageFive"/>
> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
> from-field="parameters._additionalImageFive_fileName"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
> from-field="parameters._additionalImageFive_contentType"/>
> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
> +            <clear-field field="addAdditionalViewForProductMap"/>
> +        </if-not-empty>
> +        <if-not-empty field="parameters.additionalImageSix">
> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageSix"/>
> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
> from-field="parameters._additionalImageSix_fileName"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
> from-field="parameters._additionalImageSix_contentType"/>
> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
> +            <clear-field field="addAdditionalViewForProductMap"/>
> +        </if-not-empty>
> +        <if-not-empty field="parameters.additionalImageSeven">
> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageSeven"/>
> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
> +           <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
> from-field="parameters._additionalImageSeven_fileName"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
> from-field="parameters._additionalImageSeven_contentType"/>
> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
> +            <clear-field field="addAdditionalViewForProductMap"/>
> +        </if-not-empty>
> +        <if-not-empty field="parameters.additionalImageEight">
> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageEight"/>
> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
> from-field="parameters._additionalImageEight_fileName"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
> from-field="parameters._additionalImageEight_contentType"/>
> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
> +            <clear-field field="addAdditionalViewForProductMap"/>
> +        </if-not-empty>
> +        <if-not-empty field="parameters.additionalImageNine">
> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageNine"/>
> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
> from-field="parameters._additionalImageNine_fileName"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
> from-field="parameters._additionalImageNine_contentType"/>
> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
> +            <clear-field field="addAdditionalViewForProductMap"/>
> +        </if-not-empty>
> +        <if-not-empty field="parameters.additionalImageTen">
> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageTen"/>
> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
> from-field="parameters._additionalImageTen_fileName"/>
> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
> from-field="parameters._additionalImageTen_contentType"/>
> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
> +            <clear-field field="addAdditionalViewForProductMap"/>
> +        </if-not-empty>
> +        <field-to-result field="parameters.productId" result-name="productId"/>
> +    </simple-method>
> +
> +    <simple-method method-name="removeProductContentAndImageFile" short-description="Remove Content From Product and Image File">
> +        <entity-and list="contentAssocs" entity-name="ContentAssoc">
> +            <field-map field-name="contentId" from-field="parameters.contentId"/>
> +            <field-map field-name="contentAssocTypeId" value="IMAGE_THUMBNAIL"/>
> +        </entity-and>
> +        <if-not-empty field="contentAssocs">
> +            <first-from-list entry="contentAssoc" list="contentAssocs"/>
> +            <remove-value value-field="contentAssoc"/>
> +
> +            <set field="removeContent.contentId" from-field="contentAssoc.contentIdTo"/>
> +            <set field="removeContent.productId" from-field="parameters.productId"/>
> +            <call-service service-name="removeProductContentForImageManagement" in-map-name="removeContent"/>
> +        </if-not-empty>
> +
> +        <make-value value-field="lookupPKMap" entity-name="ProductContent"/>
> +        <set-pk-fields map="parameters" value-field="lookupPKMap"/>
> +        <find-by-primary-key map="lookupPKMap" value-field="lookedUpValue"/>
> +        <remove-value value-field="lookedUpValue"/>
> +        <set field="removeContent.contentId" from-field="parameters.contentId"/>
> +        <set field="removeContent.productId" from-field="parameters.productId"/>
> +        <call-service service-name="removeProductContentForImageManagement" in-map-name="removeContent"/>
> +    </simple-method>
> +
> +    <simple-method method-name="removeProductContentForImageManagement" short-description="Remove Content From Product">
> +        <entity-and list="contentRoles" entity-name="ContentRole" >
> +           <field-map field-name="contentId" from-field="parameters.contentId"/>
> +        </entity-and>
> +        <remove-value value-field="contentRoles[0]"/>
> +
> +        <entity-condition entity-name="PartyContent" list="partyContents">
> +            <condition-list combine="and">
> +                <condition-expr field-name="contentId" from-field="parameters.contentId"/>
> +                <condition-expr field-name="partyContentTypeId" value="IMAGEAPPROVER"/>
> +            </condition-list>
> +        </entity-condition>
> +        <iterate entry="partyContent" list="partyContents">
> +            <remove-value value-field="partyContent"/>
> +        </iterate>
> +
> +        <entity-one value-field="content" entity-name="Content">
> +            <field-map field-name="contentId" from-field="parameters.contentId"/>
> +        </entity-one>
> +
> +        <set field="removeContentPKMap.contentId" from-field="parameters.contentId"/>
> +        <set-service-fields service-name="removeContent" map="removeContentPKMap" to-map="removeContentMap"/>
> +        <call-service service-name="removeContent" in-map-name="removeContentMap"/>
> +
> +        <set field="dataResourceId" from-field="content.dataResourceId"/>
> +        <entity-and list="dataResourceRoles" entity-name="DataResourceRole" >
> +            <field-map field-name="dataResourceId" from-field="dataResourceId"/>
> +        </entity-and>
> +        <remove-value value-field="dataResourceRoles[0]"/>
> +
> +        <entity-one value-field="dataResource" entity-name="DataResource">
> +            <field-map field-name="dataResourceId" from-field="dataResourceId"/>
> +        </entity-one>
> +
> +        <set field="removeImageFile.productId" from-field="parameters.productId"/>
> +        <set field="removeImageFile.contentId" from-field="parameters.contentId"/>
> +        <set field="removeImageFile.dataResourceName" from-field="dataResource.dataResourceName"/>
> +        <set-service-fields service-name="removeImageFileForImageManagement" map="removeImageFile" to-map="removeImageFileMap"/>
> +        <call-service service-name="removeImageFileForImageManagement" in-map-name="removeImageFileMap"/>
> +
> +        <set field="removeDataResourcePKMap.dataResourceId" from-field="dataResourceId"/>
> +        <set-service-fields service-name="removeDataResource" map="removeDataResourcePKMap" to-map="removeDataResourceMap"/>
> +        <call-service service-name="removeDataResource" in-map-name="removeDataResourceMap"/>
> +    </simple-method>
> +
> +    <simple-method method-name="setImageDetail" short-description="Set Image Detail">
> +        <!-- set sort order (defaultSequenceNum) and exclude (enable) -->
> +        <entity-one value-field="productContent" entity-name="ProductContent"/>
> +        <set field="productContent.defaultSequenceNum" from-field="parameters.defaultSequenceNum" type="Long"/>
> +        <store-value value-field="productContent"/>
> +        <if-not-empty field="parameters.defaultSequenceNum">
> +            <script location="component://image_management/webapp/image_management/WEB-INF/actions/sortSequenceNum.groovy"/>
> +            <set field="productContent.defaultSequenceNum" from-field="parameters.defaultSequenceNum" type="Long"/>
> +            <store-value value-field="productContent"/>
> +        </if-not-empty>
> +        <if-compare operator="equals" value="false" field="parameters.enable"> <!-- if ticked checked box = false -->
> +            <set field="parameters.enable" value="true"/>
> +            <else>
> +                <set field="parameters.enable" value="false"/>
> +            </else>
> +        </if-compare>
> +        <set field="productContent.enable" from-field="parameters.enable" type="Boolean"/>
> +        <store-value value-field="productContent"/>
> +
> +        <!-- set caption -->
> +        <entity-one value-field="content" entity-name="Content"/>
> +        <set field="content.description" from-field="parameters.description"/>
> +        <store-value value-field="content"/>
> +    </simple-method>
> +
> +    <simple-method method-name="updateStatusImageManagement" short-description="Update Status Image Management">
> +        <now-timestamp field="nowTimestamp"/>
> +        <set field="parameters.checkStatusId" value="${groovy: import org.ofbiz.base.util.StringUtil;
> +        checkStatusVal = parameters.checkStatusId;
> +        statusId = StringUtil.split(checkStatusVal, &quot;/&quot;);
> +        if (statusId) return statusId[0];
> +        }"/>
> +        <entity-and entity-name="PartyContent" list="partyContents">
> +            <field-map field-name="partyId" from-field="userLogin.partyId"/>
> +            <field-map field-name="contentId" from-field="parameters.contentId"/>
> +            <field-map field-name="partyContentTypeId" value="IMAGEAPPROVER"/>
> +        </entity-and>
> +        <first-from-list entry="partyContent" list="partyContents"/>
> +        <if-not-empty field="parameters.checkStatusId">
> +            <set field="partyContent.statusId" from-field="parameters.checkStatusId"/>
> +        </if-not-empty>
> +        <store-value value-field="partyContent"/>
> +
> +        <if-compare field="parameters.checkStatusId" operator="equals" value="IM_REJECTED">
> +            <entity-condition entity-name="PartyContent" list="checkRejects">
> +                <condition-list combine="and">
> +                    <condition-expr field-name="contentId" operator="equals" from-field="parameters.contentId"/>
> +                    <condition-expr field-name="partyContentTypeId" operator="equals" value="IMAGEAPPROVER"/>
> +                </condition-list>
> +            </entity-condition>
> +            <iterate entry="checkReject" list="checkRejects">
> +                <set field="checkReject.statusId" value="IM_REJECTED"/>
> +                <store-value value-field="checkReject"/>
> +            </iterate>
> +            <entity-one entity-name="Content" value-field="content"/>
> +            <set field="content.statusId" value="IM_REJECTED"/>
> +            <set field="content.createdByUserLogin" from-field="userLogin.userLoginId"/>
> +            <store-value value-field="content"/>
> +            <else>
> +                <if-compare field="parameters.checkStatusId" operator="equals" value="IM_APPROVED">
> +                    <entity-count entity-name="PartyContent" count-field="countParty">
> +                        <condition-list combine="and">
> +                            <condition-expr field-name="contentId" operator="equals" from-field="parameters.contentId"/>
> +                            <condition-expr field-name="partyContentTypeId" operator="equals" value="IMAGEAPPROVER"/>
> +                        </condition-list>
> +                    </entity-count>
> +                    <if-compare field="countParty" operator="equals" value="1">
> +                        <entity-one entity-name="Content" value-field="content"/>
> +                        <set field="content.statusId" value="IM_APPROVED"/>
> +                        <store-value value-field="content"/>
> +
> +                        <entity-and entity-name="ProductContent" list="productContents">
> +                            <field-map field-name="contentId" from-field="parameters.contentId"/>
> +                            <field-map field-name="productContentTypeId" value="IMAGE"/>
> +                        </entity-and>
> +                        <first-from-list entry="productContent" list="productContents"/>
> +                        <set field="productContent.purchaseFromDate" from-field="nowTimestamp"/>
> +                        <set field="productContent.enable" value="N"/>
> +                        <set field="productContent.thumbnail" value="N"/>
> +                        <store-value value-field="productContent"/>
> +                        <else>
> +                            <entity-count entity-name="PartyContent" count-field="countApprove">
> +                                 <condition-list combine="and">
> +                                    <condition-expr field-name="contentId" operator="equals" from-field="parameters.contentId"/>
> +                                    <condition-expr field-name="partyContentTypeId" operator="equals" value="IMAGEAPPROVER"/>
> +                                    <condition-expr field-name="statusId" operator="equals" value="IM_APPROVED"/>
> +                                </condition-list>
> +                            </entity-count>
> +                            <if-compare field="countApprove" operator="greater-equals" value="2">
> +                                <entity-one entity-name="Content" value-field="content"/>
> +                                <set field="content.statusId" value="IM_APPROVED"/>
> +                                <store-value value-field="content"/>
> +
> +                                <entity-and entity-name="ProductContent" list="productContents">
> +                                    <field-map field-name="contentId" from-field="parameters.contentId"/>
> +                                    <field-map field-name="productContentTypeId" value="IMAGE"/>
> +                                </entity-and>
> +                                <first-from-list entry="productContent" list="productContents"/>
> +                                <set field="productContent.purchaseFromDate" from-field="nowTimestamp"/>
> +                                <set field="productContent.enable" value="N"/>
> +                                <set field="productContent.thumbnail" value="N"/>
> +                                <store-value value-field="productContent"/>
> +
> +                                <entity-condition entity-name="PartyContent" list="checkApproveList">
> +                                    <condition-list combine="and">
> +                                        <condition-expr field-name="contentId" operator="equals"
> from-field="parameters.contentId"/>
> +                                        <condition-expr field-name="partyContentTypeId" operator="equals" value="IMAGEAPPROVER"/>
> +                                    </condition-list>
> +                                </entity-condition>
> +                                <iterate entry="checkApprove" list="checkApproveList">
> +                                    <set field="checkApprove.statusId" value="IM_APPROVED"/>
> +                                    <store-value value-field="checkApprove"/>
> +                                </iterate>
> +                            </if-compare>
> +                        </else>
> +                    </if-compare>
> +                </if-compare>
> +            </else>
> +        </if-compare>
> +    </simple-method>
> +
> +    <simple-method method-name="addRejectedReasonImageManagement" short-description="Add Rejected Reason Image Management">
> +        <now-timestamp field="nowTimestam"/>
> +        <entity-one entity-name="Content" value-field="content"/>
> +        <if-not-empty field="parameters.description">
> +            <if-compare field="parameters.description" value="RETAKE_PHOTO" operator="equals">
> +                <set field="content.description" value="Re-take Photo"/>
> +            </if-compare>
> +            <if-compare field="parameters.description" value="REMOVE_LOGO" operator="equals">
> +                <set field="content.description" value="Remove Logo"/>
> +            </if-compare>
> +            <if-compare field="parameters.description" value="OTHER" operator="equals">
> +                <set field="content.description" value="Other"/>
> +            </if-compare>
> +            <else>
> +                <set field="content.description" value="Other"/>
> +            </else>
> +        </if-not-empty>
> +        <store-value value-field="content"/>
> +
> +        <entity-and entity-name="ProductContent" list="productContents">
> +            <field-map field-name="contentId" from-field="parameters.contentId"/>
> +            <field-map field-name="productContentTypeId" value="IMAGE"/>
> +        </entity-and>
> +        <first-from-list entry="productContent" list="productContents"/>
> +        <set field="productContent.thruDate" from-field="nowTimestam"/>
> +        <store-value value-field="productContent"/>
> +    </simple-method>
> +
> +    <simple-method method-name="createImagePartyContent" short-description="Create Party Content of Image">
> +        <now-timestamp field="nowTimestam"/>
> +        <entity-and entity-name="PartyRole" list="partyRoles">
> +            <field-map field-name="roleTypeId" value="IMAGEAPPROVER"/>
> +        </entity-and>
> +        <iterate list="partyRoles" entry="partyRole">
> +            <set field="partyContent.partyId" from-field="partyRole.partyId"/>
> +            <set field="partyContent.contentId" from-field="parameters.contentId"/>
> +            <set field="partyContent.partyContentTypeId" value="IMAGEAPPROVER"/>
> +            <set field="partyContent.fromDate" from-field="nowTimestam"/>
> +            <set field="partyContent.statusId" value="IM_PENDING"/>
> +            <call-service service-name="createPartyContent" in-map-name="partyContent"/>
> +        </iterate>
> +    </simple-method>
> +
> +    <simple-method method-name="removeImagePartyContent" short-description="Remove Party Content of Image">
> +        <entity-and entity-name="PartyContent" list="partyContents">
> +            <field-map field-name="partyId" from-field="parameters.partyId"/>
> +            <field-map field-name="partyContentTypeId" value="IMAGEAPPROVER"/>
> +        </entity-and>
> +        <iterate list="partyContents" entry="partyContent">
> +            <remove-value value-field="partyContent"/>
> +        </iterate>
> +    </simple-method>
> +</simple-methods>
>
> Modified: ofbiz/trunk/applications/product/servicedef/secas.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/secas.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/product/servicedef/secas.xml (original)
> +++ ofbiz/trunk/applications/product/servicedef/secas.xml Fri Dec 24 15:22:49 2010
> @@ -128,5 +128,11 @@ under the License.
>     <eca service="receiveInventoryProduct" event="commit">
>         <action service="updateProductAverageCostOnReceiveInventory" mode="sync"/>
>     </eca>
> +
> +    <!-- Remove party content of image  -->
> +    <eca service="deletePartyRole" event="commit">
> +        <condition field-name="roleTypeId" operator="equals" value="IMAGEAPPROVER"/>
> +        <action service="removeImagePartyContent" mode="sync"/>
> +    </eca>
>
> </service-eca>
>
>

Re: svn commit: r1052521 [1/8] - in /ofbiz/trunk: ./ applications/order/ applications/product/ applications/product/config/ applications/product/data/ applications/product/data/helpdata/ applications/product/entitydef/ applications/product/lib/ application

Posted by Jacques Le Roux <ja...@les7arts.com>.
Hi Hans,

Did you get a chance?

Jacques

Hans Bakker wrote:
> It is a very long time ago Jacques....
> 
> let me see what i can do....
> 
> Regards,
> Hans
> 
> On 05/10/2012 01:32 PM, Jacques Le Roux wrote:
>> Hans,
>> 
>> Could you please clean that when you will get a chance?
>> 
>> Another point to note. It's a best practise to use version in js files
>> names. This allows the browser cache to keep a local copy until a new
>> version is used on server side.
>> 
>> Jacques
>> 
>> Jacques Le Roux wrote:
>>> Hi Hans,
>>> 
>>> Sorry this is already a year+ now, but I stumbled upon
>>> trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.min.js
>>> 
>>> and I think something is not right there. I mean in
>>> trunk/applications/product/webapp/catalog/imagemanagement/js by and
>>> large, not
>>> only for jquery.min.js.
>>> 
>>> So could you please put them rather under images/jquery (sharing with
>>> jquery-1.7.min.js, using plugin dir for others) in order to
>>> keep things clean and updated?
>>> 
>>> I don't think it needs to be backported though...
>>> 
>>> Thanks
>>> 
>>> Jacques
>>> 
>>> From: <ha...@apache.org>
>>>> Author: hansbak
>>>> Date: Fri Dec 24 15:22:49 2010
>>>> New Revision: 1052521
>>>> 
>>>> URL: http://svn.apache.org/viewvc?rev=1052521&view=rev
>>>> Log:
>>>> the first version of a product image management system when you want
>>>> to upload and approve prand manupulate product images, see
>>>> catalog -> image management
>>>> 
>>>> Added:
>>>> 
>>>> ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml
>>>>    ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml
>>>>    ofbiz/trunk/applications/product/lib/
>>>>    ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar   (with props)
>>>>    ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar
>>>> (with props)
>>>> 
>>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/
>>>> 
>>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml
>>>> 
>>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml
>>>> 
>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/
>>>> 
>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/CropImage.java
>>>> 
>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/FrameImage.java
>>>> 
>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageManagementServices.java
>>>> 
>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageUrlServlet.java
>>>> 
>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ReplaceImage.java
>>>> 
>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/RotateImage.java
>>>> 
>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/WatermarkImage.java
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/ImageFrame.groovy
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/ImageRecentlyApproved.groovy
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/ImageUpload.groovy
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/automaticResize.groovy
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/checkAction.groovy
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/checkRejected.groovy
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/seoLocales.groovy
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/sortSequenceNum.groovy
>>>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/AddMultipleImages.ftl
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/AutomaticResize.ftl
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageCrop.ftl
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageFrame.ftl
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageGallery.ftl
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageRecentlyApproved.ftl
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageRotateButton.ftl
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageRotating.ftl
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageShare.ftl
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageWatermark.ftl
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ResizeImage.ftl
>>>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Jcrop.css
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Jcrop.js
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Jcrop.min.js
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Rotate.js
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.form.js
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.function.js
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.min.js
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/showPeopleApprove.ftl
>>>> 
>>>> ofbiz/trunk/applications/product/widget/catalog/ImageManagementForms.xml
>>>> 
>>>> 
>>>> ofbiz/trunk/applications/product/widget/catalog/ImageManagementScreens.xml
>>>> Modified:
>>>>    ofbiz/trunk/.classpath
>>>>    ofbiz/trunk/applications/order/ofbiz-component.xml
>>>>    ofbiz/trunk/applications/product/build.xml
>>>>    ofbiz/trunk/applications/product/config/ImageProperties.xml
>>>>    ofbiz/trunk/applications/product/config/ProductUiLabels.xml
>>>>    ofbiz/trunk/applications/product/data/ProductDemoData.xml
>>>>    ofbiz/trunk/applications/product/data/ProductHelpData.xml
>>>>    ofbiz/trunk/applications/product/data/ProductSecurityData.xml
>>>>    ofbiz/trunk/applications/product/data/ProductTypeData.xml
>>>>    ofbiz/trunk/applications/product/entitydef/entitymodel.xml
>>>>    ofbiz/trunk/applications/product/ofbiz-component.xml
>>>>    ofbiz/trunk/applications/product/servicedef/secas.xml
>>>>    ofbiz/trunk/applications/product/servicedef/services.xml
>>>> 
>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/image/ScaleImage.java
>>>> 
>>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
>>>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/web.xml
>>>>    ofbiz/trunk/applications/product/widget/catalog/CatalogMenus.xml
>>>>    ofbiz/trunk/applications/product/widget/catalog/CommonScreens.xml
>>>>    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilMisc.java
>>>> 
>>>> Modified: ofbiz/trunk/.classpath
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/.classpath?rev=1052521&r1=1052520&r2=1052521&view=diff
>>>> ==============================================================================
>>>> 
>>>> --- ofbiz/trunk/.classpath (original)
>>>> +++ ofbiz/trunk/.classpath Fri Dec 24 15:22:49 2010
>>>> @@ -4,6 +4,8 @@
>>>> <classpathentry kind="con"
>>>> path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
>>>> <classpathentry kind="lib"
>>>> path="applications/content/lib/lucene-core-3.0.3.jar"/>
>>>> <classpathentry kind="lib"
>>>> path="applications/content/lib/poi-3.2-FINAL-20081019.jar"/>
>>>> + <classpathentry kind="lib"
>>>> path="framework/base/lib/watermarker-0.0.4.jar"/>
>>>> + <classpathentry kind="lib"
>>>> path="framework/base/lib/dozer-4.2.1.jar"/>
>>>> <classpathentry kind="lib" path="framework/base/lib/ant-1.7.1.jar"/>
>>>> <classpathentry kind="lib"
>>>> path="framework/base/lib/ant-junit-1.7.1.jar"/>
>>>> <classpathentry kind="lib"
>>>> path="framework/base/lib/ant-launcher-1.7.1.jar"/>
>>>> 
>>>> Modified: ofbiz/trunk/applications/order/ofbiz-component.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/ofbiz-component.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>>>> ==============================================================================
>>>> 
>>>> --- ofbiz/trunk/applications/order/ofbiz-component.xml (original)
>>>> +++ ofbiz/trunk/applications/order/ofbiz-component.xml Fri Dec 24
>>>> 15:22:49 2010
>>>> @@ -38,7 +38,6 @@ under the License.
>>>> <entity-resource type="data" reader-name="seed" loader="main"
>>>> location="data/OrderHelpData.xml"/>
>>>> <entity-resource type="data" reader-name="demo" loader="main"
>>>> location="data/OrderDemoUser.xml"/>
>>>> <entity-resource type="data" reader-name="demo" loader="main"
>>>> location="data/OrderDemoData.xml"/>
>>>> - <entity-resource type="data" reader-name="demo" loader="main"
>>>> location="data/SalesOrderDemoData.xml"/>
>>>> 
>>>> <service-resource type="model" loader="main"
>>>> location="servicedef/services.xml"/>
>>>> <service-resource type="model" loader="main"
>>>> location="servicedef/services_cart.xml"/>
>>>> 
>>>> Modified: ofbiz/trunk/applications/product/build.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/build.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>>>> ==============================================================================
>>>> 
>>>> --- ofbiz/trunk/applications/product/build.xml (original)
>>>> +++ ofbiz/trunk/applications/product/build.xml Fri Dec 24 15:22:49 2010
>>>> @@ -47,6 +47,7 @@ under the License.
>>>> <fileset dir="../content/lib" includes="*.jar"/>
>>>> <fileset dir="../content/build/lib" includes="*.jar"/>
>>>> <fileset dir="../party/build/lib" includes="*.jar"/>
>>>> + <fileset dir="lib" includes="*.jar"/>
>>>> </path>
>>>> 
>>>> <target name="init">
>>>> 
>>>> Modified: ofbiz/trunk/applications/product/config/ImageProperties.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ImageProperties.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>>>> 
>>>> ==============================================================================
>>>> 
>>>> --- ofbiz/trunk/applications/product/config/ImageProperties.xml
>>>> (original)
>>>> +++ ofbiz/trunk/applications/product/config/ImageProperties.xml Fri
>>>> Dec 24 15:22:49 2010
>>>> @@ -35,4 +35,36 @@ under the License.
>>>> <dimension name="height" value="600"/>
>>>> <dimension name="width" value="600"/>
>>>> </size>
>>>> + <size name="100x75">
>>>> + <dimension name="height" value="75"/>
>>>> + <dimension name="width" value="100"/>
>>>> + </size>
>>>> + <size name="150x112">
>>>> + <dimension name="height" value="112"/>
>>>> + <dimension name="width" value="150"/>
>>>> + </size>
>>>> + <size name="320x240">
>>>> + <dimension name="height" value="240"/>
>>>> + <dimension name="width" value="320"/>
>>>> + </size>
>>>> + <size name="640x480">
>>>> + <dimension name="height" value="480"/>
>>>> + <dimension name="width" value="640"/>
>>>> + </size>
>>>> + <size name="800x600">
>>>> + <dimension name="height" value="600"/>
>>>> + <dimension name="width" value="800"/>
>>>> + </size>
>>>> + <size name="1024x768">
>>>> + <dimension name="height" value="768"/>
>>>> + <dimension name="width" value="1024"/>
>>>> + </size>
>>>> + <size name="1280x1024">
>>>> + <dimension name="height" value="1024"/>
>>>> + <dimension name="width" value="1280"/>
>>>> + </size>
>>>> + <size name="1600x1200">
>>>> + <dimension name="height" value="1200"/>
>>>> + <dimension name="width" value="1600"/>
>>>> + </size>
>>>> </imageSize>
>>>> 
>>>> Modified: ofbiz/trunk/applications/product/config/ProductUiLabels.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ProductUiLabels.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>>>> 
>>>> ==============================================================================
>>>> 
>>>> --- ofbiz/trunk/applications/product/config/ProductUiLabels.xml
>>>> (original)
>>>> +++ ofbiz/trunk/applications/product/config/ProductUiLabels.xml Fri
>>>> Dec 24 15:22:49 2010
>>>> @@ -19,6 +19,39 @@
>>>>     under the License.
>>>> -->
>>>> <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>>>> + <property key="Approve">
>>>> + <value xml:lang="en">Approve</value>
>>>> + <value xml:lang="th">ยืนยัน</value>
>>>> + </property>
>>>> + <property key="Approved">
>>>> + <value xml:lang="en">Approved</value>
>>>> + <value xml:lang="th">ยืนยันแล้ว</value>
>>>> + </property>
>>>> + <property key="AutomaticResize">
>>>> + <value xml:lang="en">Automatic Resize</value>
>>>> + <value
>>>> xml:lang="th">เปลี่ยนขนาดอัตโนมัติ</value>
>>>> + </property>
>>>> + <property key="CatalogWebAnalytics">
>>>> + <value xml:lang="en">Web Analytics</value>
>>>> + </property>
>>>> + <property key="CatalogWebAnalyticsConfigs">
>>>> + <value xml:lang="en">Web Analytics Configuration</value>
>>>> + </property>
>>>> + <property key="CatalogWebAnalyticsTypes">
>>>> + <value xml:lang="en">Web Analytics Types</value>
>>>> + </property>
>>>> + <property key="ChooseImageToReplace">
>>>> + <value xml:lang="en">Choose Image to Replace</value>
>>>> + <value xml:lang="th">เลือกà¸
>>>> าพสำหรับแทนที่</value>
>>>> + </property>
>>>> + <property key="ChooseProductID">
>>>> + <value xml:lang="en">Choose Product ID</value>
>>>> + <value
>>>> xml:lang="th">เลือกรหัสสินค้า</value>
>>>> + </property>
>>>> + <property key="ChooseReplacementImage">
>>>> + <value xml:lang="en">Choose Replacement Image</value>
>>>> + <value xml:lang="th">เลือกà¸
>>>> าพที่จะแทนที่</value>
>>>> + </property>
>>>> <property key="FacilityActualShippingCharges">
>>>> <value xml:lang="en">Actual shipping charges</value>
>>>> <value xml:lang="it">Ricarico di spedizione attuale</value>
>>>> @@ -4831,7 +4864,59 @@
>>>> <value xml:lang="zh">äººå·¥æœåŠ¡å¥½çš„æ ‡å‡†ç±»åž‹æ ‡è¯†</value>
>>>> <value xml:lang="zh_TW">å·¥é …æˆå“è¦ç¯„é¡žåž‹ID</value>
>>>> </property>
>>>> - <property key="PageTitleAddFacilityGroupRollup">
>>>> + <property key="Gallery">
>>>> + <value xml:lang="en">Gallery</value>
>>>> + <value xml:lang="th">แกลลอรี่</value>
>>>> + </property>
>>>> + <property key="ImageApprove">
>>>> + <value xml:lang="en">Approve</value>
>>>> + <value xml:lang="th">ยืนยันรูปภาพ</value>
>>>> + </property>
>>>> +
>>>> + <property key="ImageCropping">
>>>> + <value xml:lang="en">Image Cropping</value>
>>>> + <value xml:lang="th">ตัดภาพ</value>
>>>> + </property>
>>>> + <property key="ImageFrames">
>>>> + <value xml:lang="en">Image Frames</value>
>>>> + <value xml:lang="th">เฟรม</value>
>>>> + </property>
>>>> + <property key="ImageManagement">
>>>> + <value xml:lang="en">Image Management</value>
>>>> + <value xml:lang="th">จัดการรูปภาพ</value>
>>>> + </property>
>>>> + <property key="ImageManagementApplication">
>>>> + <value xml:lang="en">Image Management Application</value>
>>>> + <value
>>>> xml:lang="th">โปรแกรมจัดการรูปà¸
>>>> าพ</value>
>>>> + </property>
>>>> + <property key="ImageRecentlyApproved">
>>>> + <value xml:lang="en">Recently Approved</value>
>>>> + <value xml:lang="th">รูปà¸
>>>> าพยืนยันล่าสุด</value>
>>>> + </property>
>>>> + <property key="ImageRejected">
>>>> + <value xml:lang="en">Rejected</value>
>>>> + <value xml:lang="th">ปฏิเสธรูปภาพ</value>
>>>> + </property>
>>>> + <property key="ImageRotating">
>>>> + <value xml:lang="en">Image Rotating</value>
>>>> + <value xml:lang="th">หมุนภาพ</value>
>>>> + </property>
>>>> + <property key="ImageUpload">
>>>> + <value xml:lang="en">Upload</value>
>>>> + <value xml:lang="th">อัพโหลดรูป</value>
>>>> + </property>
>>>> + <property key="ImageUploadList">
>>>> + <value xml:lang="en">Image Upload List</value>
>>>> + <value xml:lang="th">รูปà¸
>>>> าพที่อัพโหลด</value>
>>>> + </property>
>>>> + <property key="ImageWatermarking">
>>>> + <value xml:lang="en">Image Watermarking</value>
>>>> + <value xml:lang="th">ลายน้ำ</value>
>>>> + </property>
>>>> + <property key="Manage">
>>>> + <value xml:lang="en">Manage</value>
>>>> + <value xml:lang="th">จัดการ</value>
>>>> + </property> <property key="PageTitleAddFacilityGroupRollup">
>>>> <value xml:lang="de">Einrichtungsgruppe Rollup hinzufügen</value>
>>>> <value xml:lang="en">Add Facility Group Rollup</value>
>>>> <value xml:lang="es">Añadir despliegue de grupo de almacenes</value>
>>>> @@ -23524,4 +23609,28 @@
>>>> <value xml:lang="zh">ä½ æœç´¢</value>
>>>> <value xml:lang="zh_TW">ä½ æ‰€æœç´¢çš„</value>
>>>> </property>
>>>> + <property key="RecentlyApproved">
>>>> + <value xml:lang="en">Recently Approved</value>
>>>> + <value xml:lang="th">แกลลอรี่</value>
>>>> + </property>
>>>> + <property key="Rejected">
>>>> + <value xml:lang="en">Rejected</value>
>>>> + <value xml:lang="th">ปฏิเสธ</value>
>>>> + </property>
>>>> + <property key="Replace">
>>>> + <value xml:lang="en">Replace</value>
>>>> + <value xml:lang="th">แทนที่</value>
>>>> + </property>
>>>> + <property key="ShareImage">
>>>> + <value xml:lang="en">Share Image</value>
>>>> + <value xml:lang="th">แบ่งบันภาพ</value>
>>>> + </property>
>>>> + <property key="Upload">
>>>> + <value xml:lang="en">Upload</value>
>>>> + <value xml:lang="th">อัพโหลด</value>
>>>> + </property>
>>>> + <property key="WelcomeMessage">
>>>> + <value xml:lang="en">Welcome to the Image Management</value>
>>>> + <value
>>>> xml:lang="th">ยินดีต้อนรับสู้รบบการจัดการรูปà¸
>>>> าพ</value>
>>>> + </property>
>>>> </resource>
>>>> 
>>>> Modified: ofbiz/trunk/applications/product/data/ProductDemoData.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductDemoData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>>>> 
>>>> ==============================================================================
>>>> 
>>>> --- ofbiz/trunk/applications/product/data/ProductDemoData.xml
>>>> (original)
>>>> +++ ofbiz/trunk/applications/product/data/ProductDemoData.xml Fri
>>>> Dec 24 15:22:49 2010
>>>> @@ -22,5 +22,25 @@ under the License.
>>>> <!-- Limited user demo -->
>>>> <UserLoginSecurityGroup groupId="CATALOGADMIN_LTD"
>>>> userLoginId="ltdadmin" fromDate="2001-01-01 12:00:00.0"/>
>>>> <UserLoginSecurityGroup groupId="CATALOGADMIN_LTD"
>>>> userLoginId="ltdadmin1" fromDate="2001-01-01 12:00:00.0"/>
>>>> +
>>>> + <!-- Image Management user demo -->
>>>> + <Party partyId="imageAdmin" partyTypeId="PERSON"
>>>> statusId="PARTY_ENABLED"/>
>>>> + <Person partyId="imageAdmin" firstName="Image Management"
>>>> lastName="Administrator"/>
>>>> + <UserLogin userLoginId="imageAdmin" partyId="imageAdmin"
>>>> currentPassword="{SHA}47b56994cbc2b6d10aa1be30f70165adb305a41a"/>
>>>> + <UserLoginSecurityGroup userLoginId="imageAdmin"
>>>> groupId="FULLADMIN" fromDate="2010-01-01 12:00:00.0"/>
>>>> + <UserLoginSecurityGroup userLoginId="imageAdmin"
>>>> groupId="IMAGEADMIN" fromDate="2010-01-01 12:00:00.0"/>
>>>> + <UserLoginSecurityGroup userLoginId="imageAdmin"
>>>> groupId="IMAGEUPLOAD" fromDate="2010-01-01 12:00:00.0"/>
>>>> +
>>>> + <Party partyId="imageAdmin2" partyTypeId="PERSON"
>>>> statusId="PARTY_ENABLED"/>
>>>> + <Person partyId="imageAdmin2" firstName="Image Management"
>>>> lastName="Administrator 2"/>
>>>> + <UserLogin userLoginId="imageAdmin2" partyId="imageAdmin2"
>>>> currentPassword="{SHA}47b56994cbc2b6d10aa1be30f70165adb305a41a"/>
>>>> + <UserLoginSecurityGroup userLoginId="imageAdmin2"
>>>> groupId="FULLADMIN" fromDate="2010-01-01 12:00:00.0"/>
>>>> + <UserLoginSecurityGroup userLoginId="imageAdmin2"
>>>> groupId="IMAGEAPPROVE" fromDate="2010-01-01 12:00:00.0"/>
>>>> +
>>>> + <Party partyId="imageUpload" partyTypeId="PERSON"
>>>> statusId="PARTY_ENABLED"/>
>>>> + <Person partyId="imageUpload" firstName="Image Management"
>>>> lastName="Upload"/>
>>>> + <UserLogin userLoginId="imageUpload" partyId="imageUpload"
>>>> currentPassword="{SHA}47b56994cbc2b6d10aa1be30f70165adb305a41a"/>
>>>> + <UserLoginSecurityGroup userLoginId="imageUpload"
>>>> groupId="FULLADMIN" fromDate="2010-01-01 12:00:00.0"/>
>>>> + <UserLoginSecurityGroup userLoginId="imageUpload"
>>>> groupId="IMAGEUPLOAD" fromDate="2010-01-01 12:00:00.0"/>
>>>> 
>>>> </entity-engine-xml>
>>>> 
>>>> Modified: ofbiz/trunk/applications/product/data/ProductHelpData.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductHelpData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>>>> 
>>>> ==============================================================================
>>>> 
>>>> --- ofbiz/trunk/applications/product/data/ProductHelpData.xml
>>>> (original)
>>>> +++ ofbiz/trunk/applications/product/data/ProductHelpData.xml Fri
>>>> Dec 24 15:22:49 2010
>>>> @@ -26,4 +26,9 @@ under the License.
>>>> <Content contentId="PRODCATALOG_main" contentTypeId="DOCUMENT"
>>>> contentName="Main Catalog Help"
>>>> templateDataResourceId="HELP_TEMPL"
>>>> dataResourceId="PRODCATALOG_main" statusId="CTNT_IN_PROGRESS"
>>>> mimeTypeId="text/html"/>
>>>> <ContentAssoc contentId="HELP_PRODUCT"
>>>> contentIdTo="PRODCATALOG_main" contentAssocTypeId="TREE_CHILD"
>>>> fromDate="2006-01-12
>>>> 01:01:01" sequenceNum="000" mapKey="PRODCATALOG_main"/>
>>>> 
>>>> + <!-- Image Management -->
>>>> + <DataResource dataResourceId="IMAGEMANAGEMENT_MAIN"
>>>> localeString="en" dataResourceTypeId="OFBIZ_FILE"
>>>> objectInfo="applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml"
>>>> dataTemplateTypeId="NONE" statusId="CTNT_IN_PROGRESS"
>>>> dataResourceName="Image Management" mimeTypeId="text/xml"
>>>> isPublic="Y" />
>>>> + <Content contentId="IMAGEMANAGEMENT_MAIN" contentTypeId="DOCUMENT"
>>>> contentName="Image Management"
>>>> templateDataResourceId="HELP_TEMPL"
>>>> dataResourceId="IMAGEMANAGEMENT_MAIN" statusId="CTNT_IN_PROGRESS"
>>>> mimeTypeId="text/html"/>
>>>> + <ContentAssoc contentId="PRODCATALOG_main"
>>>> contentIdTo="IMAGEMANAGEMENT_MAIN" contentAssocTypeId="TREE_CHILD"
>>>> fromDate="2006-01-12 01:01:01" sequenceNum="01"
>>>> mapKey="PRODCATALOG_Imagemanagement"/>
>>>> +
>>>> </entity-engine-xml>
>>>> 
>>>> Modified: ofbiz/trunk/applications/product/data/ProductSecurityData.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductSecurityData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>>>> 
>>>> ==============================================================================
>>>> 
>>>> --- ofbiz/trunk/applications/product/data/ProductSecurityData.xml
>>>> (original)
>>>> +++ ofbiz/trunk/applications/product/data/ProductSecurityData.xml
>>>> Fri Dec 24 15:22:49 2010
>>>> @@ -92,4 +92,20 @@ under the License.
>>>> <SecurityGroupPermission groupId="FLEXADMIN"
>>>> permissionId="FACILITY_VIEW"/>
>>>> <SecurityGroupPermission groupId="VIEWADMIN"
>>>> permissionId="FACILITY_VIEW"/>
>>>> <SecurityGroupPermission groupId="BIZADMIN"
>>>> permissionId="FACILITY_ADMIN"/>
>>>> +
>>>> + <!-- Image Management security -->
>>>> + <SecurityGroup description="Image Management Admin."
>>>> groupId="IMAGEADMIN"/>
>>>> + <SecurityPermission description="All operations in the Image
>>>> Management." permissionId="IMAGE_MANAGEMENT_ADMIN"/>
>>>> + <SecurityGroupPermission groupId="IMAGEADMIN"
>>>> permissionId="IMAGE_MANAGEMENT_ADMIN"/>
>>>> + <SecurityGroupPermission groupId="IMAGEADMIN"
>>>> permissionId="IMAGE_MANAGEMENT_APPROVE"/>
>>>> + <SecurityGroupPermission groupId="IMAGEADMIN"
>>>> permissionId="IMAGE_MANAGEMENT_UPLOAD"/>
>>>> + <SecurityGroupPermission groupId="FULLADMIN"
>>>> permissionId="IMAGE_MANAGEMENT_ADMIN"/>
>>>> +
>>>> + <SecurityGroup description="Image Management Approve"
>>>> groupId="IMAGEAPPROVE"/>
>>>> + <SecurityPermission description="Approve photos in the Image
>>>> Management." permissionId="IMAGE_MANAGEMENT_APPROVE"/>
>>>> + <SecurityGroupPermission groupId="IMAGEAPPROVE"
>>>> permissionId="IMAGE_MANAGEMENT_APPROVE"/>
>>>> +
>>>> + <SecurityGroup description="Image Management Upload."
>>>> groupId="IMAGEUPLOAD"/>
>>>> + <SecurityPermission description="Upload photos in the Image
>>>> Management." permissionId="IMAGE_MANAGEMENT_UPLOAD"/>
>>>> + <SecurityGroupPermission groupId="IMAGEUPLOAD"
>>>> permissionId="IMAGE_MANAGEMENT_UPLOAD"/>
>>>> </entity-engine-xml>
>>>> 
>>>> Modified: ofbiz/trunk/applications/product/data/ProductTypeData.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductTypeData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>>>> 
>>>> ==============================================================================
>>>> 
>>>> --- ofbiz/trunk/applications/product/data/ProductTypeData.xml
>>>> (original)
>>>> +++ ofbiz/trunk/applications/product/data/ProductTypeData.xml Fri
>>>> Dec 24 15:22:49 2010
>>>> @@ -584,7 +584,49 @@ under the License.
>>>> <WebSite webSiteId="FACILITY" siteName="Facility Manager"
>>>> visualThemeSetId="BACKOFFICE"/>
>>>> 
>>>> <WebAnalyticsType description="Web Analytics" hasTable="N"
>>>> parentTypeId="" webAnalyticsTypeId="WEB_ANALYTICS"/>
>>>> - <WebAnalyticsType webAnalyticsTypeId="GOOGLE_ANALYTICS"
>>>> parentTypeId="WEB_ANALYTICS" hasTable="N" description="Google
>>>> Analytics"/>
>>>> + <WebAnalyticsType webAnalyticsTypeId="GOOGLE_ANALYTICS"
>>>> parentTypeId="WEB_ANALYTICS" hasTable="N" description="Google
>>>> Analytics"/>
>>>> <WebAnalyticsType webAnalyticsTypeId="BING_ANALYTICS"
>>>> parentTypeId="WEB_ANALYTICS" hasTable="N" description="Bing
>>>> Analytics"/> -
>>>> +
>>>> + <!-- Image Management -->
>>>> + <RoleType roleTypeId="IMAGEAPPROVER" hasTable="N"
>>>> description="Image Approver"/>
>>>> +
>>>> + <PartyContentType partyContentTypeId="IMAGEAPPROVER"
>>>> description="Image Approver"/>
>>>> +
>>>> + <ProductContentType description="Image" hasTable="N"
>>>> parentTypeId="" productContentTypeId="IMAGE"/>
>>>> + <ProductContentType description="Frame" hasTable="N"
>>>> parentTypeId="" productContentTypeId="FRAME"/>
>>>> +
>>>> + <ContentType contentTypeId="IMAGE_FRAME" description="Frame Image"/>
>>>> +
>>>> + <ContentAssocType contentAssocTypeId="IMAGE_THUMBNAIL"
>>>> description="Image Thumbnail"/>
>>>> +
>>>> + <StatusType description="Image Management" hasTable="N"
>>>> parentTypeId="" statusTypeId="IMAGE_MANAGEMENT_ST"/>
>>>> + <StatusItem description="Pending" sequenceId="01"
>>>> statusCode="PENDING" statusId="IM_PENDING"
>>>> statusTypeId="IMAGE_MANAGEMENT_ST"/>
>>>> + <StatusItem description="Approved" sequenceId="02"
>>>> statusCode="APPROVED" statusId="IM_APPROVED"
>>>> statusTypeId="IMAGE_MANAGEMENT_ST"/>
>>>> + <StatusItem description="Rejected" sequenceId="03"
>>>> statusCode="REJECTED" statusId="IM_REJECTED"
>>>> statusTypeId="IMAGE_MANAGEMENT_ST"/>
>>>> +
>>>> + <ProductFeatureCategory productFeatureCategoryId="IMAGE"
>>>> description="Image"/>
>>>> + <ProductFeatureCategory productFeatureCategoryId="TEXT"
>>>> description="Text"/>
>>>> +
>>>> + <ProductFeature productFeatureId="IMAGE_AVATAR"
>>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>>> description="100 X 75 (avatar)" defaultSequenceNum="1"/>
>>>> + <ProductFeature productFeatureId="IMAGE_THUMBNAIL"
>>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>>> description="150 X 112 (thumbnail)" defaultSequenceNum="2"/>
>>>> + <ProductFeature productFeatureId="IMAGE_WEBSITE"
>>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>>> description="320 X 240 (for websites and email)"
>>>> defaultSequenceNum="3"/>
>>>> + <ProductFeature productFeatureId="IMAGE_BOARD"
>>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>>> description="640
>>>> X 480 (for message boards)" defaultSequenceNum="4"/>
>>>> + <ProductFeature productFeatureId="IMAGE_MONITOR15"
>>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>>> description="800 X 600 (15-inch monitor)" defaultSequenceNum="5"/>
>>>> + <ProductFeature productFeatureId="IMAGE_MONITOR17"
>>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>>> description="1024 X 768 (17-inch monitor)" defaultSequenceNum="6"/>
>>>> + <ProductFeature productFeatureId="IMAGE_MONITOR19"
>>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>>> description="1280 X 1024 (19-inch monitor)" defaultSequenceNum="7"/>
>>>> + <ProductFeature productFeatureId="IMAGE_MONITOR21"
>>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>>> description="1600 X 1200 (21-inch monitor)" defaultSequenceNum="8"/>
>>>> +
>>>> + <ProductFeature productFeatureId="TEXT_SMALL"
>>>> productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
>>>> description="Small" defaultSequenceNum="1"/>
>>>> + <ProductFeature productFeatureId="TEXT_MIDDLE"
>>>> productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
>>>> description="Middle" defaultSequenceNum="2"/>
>>>> + <ProductFeature productFeatureId="TEXT_LARGE"
>>>> productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
>>>> description="Large" defaultSequenceNum="3"/>
>>>> + <ProductFeature productFeatureId="TEXT_VERYLARGE"
>>>> productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
>>>> description="Very Large" defaultSequenceNum="4"/>
>>>> +
>>>> + <ProductFeature productFeatureId="TEXT_WHITE"
>>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>>>> description="White" defaultSequenceNum="1"/>
>>>> + <ProductFeature productFeatureId="TEXT_GRAY"
>>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>>>> description="Gray"
>>>> defaultSequenceNum="2"/>
>>>> + <ProductFeature productFeatureId="TEXT_BLACK"
>>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>>>> description="Black" defaultSequenceNum="3"/>
>>>> + <ProductFeature productFeatureId="TEXT_RED"
>>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>>>> description="Red"
>>>> defaultSequenceNum="4"/>
>>>> + <ProductFeature productFeatureId="TEXT_GREEN"
>>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>>>> description="Green" defaultSequenceNum="5"/>
>>>> + <ProductFeature productFeatureId="TEXT_BLUE"
>>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>>>> description="Blue"
>>>> defaultSequenceNum="6"/>
>>>> + <ProductFeature productFeatureId="TEXT_YELLOW"
>>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>>>> description="Yellow" defaultSequenceNum="7"/>
>>>> +
>>>> </entity-engine-xml>
>>>> 
>>>> Added:
>>>> ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml?rev=1052521&view=auto
>>>> ==============================================================================
>>>> 
>>>> ---
>>>> ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml
>>>> (added)
>>>> +++
>>>> ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml
>>>> Fri Dec 24 15:22:49 2010
>>>> @@ -0,0 +1,226 @@
>>>> +<?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"
>>>> +    version="5.0" xmlns:xl="http://www.w3.org/1999/xlink"
>>>> xmlns:xi="http://www.w3.org/2001/XInclude"
>>>> +    xsi:schemaLocation="http://docbook.org/ns/docbook
>>>> ../../../content/dtd/docbook.xsd"
>>>> +    xmlns="http://docbook.org/ns/docbook">
>>>> + <title>Image Management Help.</title>
>>>> + <para>The Image Management module manages many kind of image what
>>>> user want. There are various functions including
>>>> 'Gallery', 'Upload', 'Approved', 'Manage' etc.</para>
>>>> + <para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Go to Catalog Component.</para>
>>>> + <para>Go to Image Management.</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + </para>
>>>> +
>>>> + <section>
>>>> + <title>How To Add Security Group For Image Management User</title>
>>>> + <para>There are three security groups related in the Image
>>>> Management including 'IMAGEADMIN', 'IMAGEAPPROVE' and '
>>>> IMAGEUPLOAD'.</para>
>>>> + <para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Go to 'Party' component.</para>
>>>> + <para>Search 'UserLogin' or 'Party Id'.</para>
>>>> + <para>Click 'UserLogin' or 'Party Id'.</para>
>>>> + <para>At 'User Name(s)', click 'Security Groups' button.</para>
>>>> + <para>At 'Add UserLogin to Security Group', select group
>>>> 'IMAGEADMIN Image Management Admin' for use all
>>>> operations in the Image Management.</para>
>>>> + <para>select 'IMAGEUPLOAD Image Management Upload': To add party's
>>>> permission for uploading, or select
>>>> 'IMAGEAPPROVE Image Management Approve': To add party's permission
>>>> for approving.</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + </para>
>>>> + </section>
>>>> + <section>
>>>> + <title>How To Add Role For Approve Image To Party Id</title>
>>>> + <para>When user click partyId into party's screen already. Select
>>>> the submenu 'Role(s)' to add the role to party</para>
>>>> + <para>There is Add To Role screenlet, select role 'Image
>>>> Approver'(on the combobox role type Id) then click 'add'
>>>> button.</para>
>>>> + </section>
>>>> + <section>
>>>> + <title>Gallery</title>
>>>> + <section>
>>>> + <para>Gallery shows all images which have approved.</para>
>>>> + <para>Note: Everybody can access Gallery function.</para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Click 'Gallery' button, then choose a 'Product Id' by type
>>>> or click a find icon.</para>
>>>> + <para>Click 'Submit' button, then you will see all images which
>>>> have approved.</para>
>>>> + <para>You can click 'Share' button that generates any codes to
>>>> share your images to any people.</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + </section>
>>>> + </section>
>>>> + <section>
>>>> + <title>Upload</title>
>>>> + <section>
>>>> + <para>In this function, you can upload image files into system.
>>>> You can upload many image files up to 10
>>>> files.</para>
>>>> + <para>Note: You must have Image Management Upload permission for
>>>> access Upload function.</para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Go to 'Upload' section, Enter 'Product Id' by type or click
>>>> a find icon.</para>
>>>> + <para>Optional, you can specify the size of images.</para>
>>>> + <para>Then click 'Browse' button to choose image file(s).</para>
>>>> + <para>Click 'Upload' button.</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + </section>
>>>> + </section>
>>>> + <section>
>>>> + <title>Recently Approved</title>
>>>> + <section>
>>>> + <para>In this function, you can see the images which have been
>>>> approved for 14 days recently.</para>
>>>> + <para>Note: You must have Image Management Admin permission for
>>>> access this function.</para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Click 'Recently Approved' Button, then you will see the
>>>> lists of recently approved product which are
>>>> separated by date.</para>
>>>> + <para>Click on product id to see its images with details.</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + </section>
>>>> + </section>
>>>> + <section>
>>>> + <title>Approve</title>
>>>> + <section>
>>>> + <para>In this function, you can set the status of each image
>>>> including 'Approve', 'Pending' and 'Rejected'.</para>
>>>> + <para>Note: You must have Image Management Admin permission for
>>>> access this function.</para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Click 'Approve' Button, then specify the status of each
>>>> image.</para>
>>>> + <para>Choose 'Approve' status for approve image.</para>
>>>> + <para>Choose 'Reject' status for reject image..</para>
>>>> + <para>Choose 'Pending' status for pending image..</para>
>>>> + <para>Click 'Submit' button.</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + <para>The images will be approved if all image administrators
>>>> approved them. But if only one person rejects an image
>>>> then that image will be rejected.</para>
>>>> + </section>
>>>> + </section>
>>>> + <section>
>>>> + <title>Rejected</title>
>>>> + <section>
>>>> + <para>The Rejected function shows the images which have
>>>> rejected.</para>
>>>> + <para>Note: You must have Image Management Admin permission for
>>>> access this function.</para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Click 'Rejected' button, then you specify the reason of
>>>> rejection each image.</para>
>>>> + <para>Then click 'Submit' button.</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + </section>
>>>> + </section>
>>>> + <section>
>>>> + <title>Manage</title>
>>>> + <section>
>>>> + <para>You can edit image such as add frame, embedded watermark,
>>>> crop image etc. You can also add caption, sort
>>>> order, exclude image and choose thumbnail in this function.</para>
>>>> + <para>Note: You must have Image Management Admin permission for
>>>> access this function.</para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Click 'Manage' Button, then you can choose action including
>>>> 'Frame', 'Watermark', 'Crop' and 'Rotate'
>>>> (see below for more details).</para>
>>>> + <para>Enter your image caption.</para>
>>>> + <para>Sort order of image by enter order number.</para>
>>>> + <para>Exclude image by tick excluded checkbox.</para>
>>>> + <para>Select image thumbnail of product.</para>
>>>> + <para>Click 'Submit' button.</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + <section>
>>>> + <title>- Frame</title>
>>>> + <section>
>>>> + <para>In Frame function, you can merge your image with the frame
>>>> image (transparent image file e.g. PNG
>>>> type) together.</para>
>>>> + <para>The frame image should be larger than selected image.</para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Choose 'Frame' then choose the image you want to merge
>>>> frame.</para>
>>>> + <para>Select the frame image by browsing transparent image file,
>>>> such as PNG type.</para>
>>>> + <para>Click 'Upload' button to upload the frame image.</para>
>>>> + <para>Enter width and height of image.</para>
>>>> + <para>Optional, you click 'Preview' to see example image.</para>
>>>> + <para>Click 'Create' button.</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + </section>
>>>> + </section>
>>>> + <section>
>>>> + <title>- Watermark</title>
>>>> + <section>
>>>> + <para>In Watermark function, you can draw some text on your
>>>> image.</para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Choose 'Watermark' then choose image you want.</para>
>>>> + <para>Enter any text, Choose text color, text size and text
>>>> position.</para>
>>>> + <para>Optional, you can preview image by click 'Preview'
>>>> button.</para>
>>>> + <para>Click 'Watermark' button.</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + </section>
>>>> + </section>
>>>> + </section>
>>>> + <section>
>>>> + <title>- Crop</title>
>>>> + <section>
>>>> + <para>You can crop any images in this function.</para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Choose 'Crop' then choose your image.</para>
>>>> + <para>Move your cursor on the image, then drag your mouse to crop
>>>> image.</para>
>>>> + <para>You can see the preview image in the right hand side.</para>
>>>> + <para>Finally, you click 'Crop' button.</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + </section>
>>>> + </section>
>>>> + <section>
>>>> + <title>- Rotate</title>
>>>> + <section>
>>>> + <para>You can rotate images in this function.</para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Choose 'Rotate' then click clockwise or counterclockwise
>>>> button for ratating image.</para>
>>>> + <para>Click 'Submit' button</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + </section>
>>>> + </section>
>>>> + </section>
>>>> + <section>
>>>> + <title>Replace</title>
>>>> + <section>
>>>> + <para>In this function, you can replace the selected image with
>>>> other image.</para>
>>>> + <para>The image which you want to replace must be approved
>>>> first.</para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Click 'Replace' button, Enter 'Product Id' by type or click
>>>> a find icon.</para>
>>>> + <para>Then choose the image which you want to replace.</para>
>>>> + <para>Choose the other image to replace with the selected
>>>> image.</para>
>>>> + <para>Click 'Submit' button.</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + </section>
>>>> + </section>
>>>> + <!--<section>
>>>> + <title>Automatic Resize</title>
>>>> + <section>
>>>> + <para>You can resize any images in this function.</para>
>>>> + <orderedlist>
>>>> + <listitem>
>>>> + <para>Go to 'Automatic Resize' section, Enter 'Product Id' by type
>>>> or click a find icon.</para>
>>>> + <para>Choose Image to resize, then you can select a size.</para>
>>>> + <para>Click 'Upload Image'.</para>
>>>> + </listitem>
>>>> + </orderedlist>
>>>> + </section>
>>>> + </section>-->
>>>> +</section>
>>>> 
>>>> Modified: ofbiz/trunk/applications/product/entitydef/entitymodel.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>>>> 
>>>> ==============================================================================
>>>> 
>>>> --- ofbiz/trunk/applications/product/entitydef/entitymodel.xml
>>>> (original)
>>>> +++ ofbiz/trunk/applications/product/entitydef/entitymodel.xml Fri
>>>> Dec 24 15:22:49 2010
>>>> @@ -4814,4 +4814,15 @@ under the License.
>>>> <key-map field-name="productPromoContentTypeId"
>>>> rel-field-name="productContentTypeId"/>
>>>> </relation>
>>>> </entity>
>>>> +
>>>> + <!-- Image Management -->
>>>> + <extend-entity entity-name="ProductContent">
>>>> + <field name="defaultSequenceNum" type="numeric"/>
>>>> + <field name="enable" type="indicator"/>
>>>> + <field name="thumbnail" type="indicator"/>
>>>> + </extend-entity>
>>>> +
>>>> + <extend-entity entity-name="PartyContent">
>>>> + <field name="statusId" type="id"></field>
>>>> + </extend-entity>
>>>> </entitymodel>
>>>> 
>>>> Added: ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml?rev=1052521&view=auto
>>>> ==============================================================================
>>>> 
>>>> --- ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml
>>>> (added)
>>>> +++ ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml
>>>> Fri Dec 24 15:22:49 2010
>>>> @@ -0,0 +1,46 @@
>>>> +<?xml version="1.0" encoding="UTF-8"?>
>>>> +<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>> +
>>>> xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
>>>> +
>>>> + <view-entity entity-name="PartyContentProductContentAndInfo"
>>>> +            package-name="org.ofbiz.content.content"
>>>> +            title="PartyContent, ProductContent, Content and
>>>> DataResource View Entity">
>>>> + <member-entity entity-alias="PAC" entity-name="PartyContent"/>
>>>> + <member-entity entity-alias="PRC" entity-name="ProductContent"/>
>>>> + <member-entity entity-alias="CO" entity-name="Content"/>
>>>> + <member-entity entity-alias="DR" entity-name="DataResource"/>
>>>> + <alias-all entity-alias="PAC"/>
>>>> + <alias-all entity-alias="PRC">
>>>> + <exclude field="contentId"/>
>>>> + </alias-all>
>>>> + <alias-all entity-alias="CO">
>>>> + <exclude field="contentId"/>
>>>> + </alias-all>
>>>> + <alias-all entity-alias="DR" prefix="dr"/>
>>>> + <view-link entity-alias="PAC" rel-entity-alias="PRC">
>>>> + <key-map field-name="contentId"/>
>>>> + </view-link>
>>>> + <view-link entity-alias="PRC" rel-entity-alias="CO">
>>>> + <key-map field-name="contentId"/>
>>>> + </view-link>
>>>> + <view-link entity-alias="CO" rel-entity-alias="DR">
>>>> + <key-map field-name="dataResourceId"/>
>>>> + </view-link>
>>>> + <relation type="one-nofk" rel-entity-name="ElectronicText">
>>>> + <key-map field-name="dataResourceId"/>
>>>> + </relation>
>>>> + <relation type="one-nofk" rel-entity-name="ImageDataResource">
>>>> + <key-map field-name="dataResourceId"/>
>>>> + </relation>
>>>> + <relation type="one-nofk" rel-entity-name="OtherDataResource">
>>>> + <key-map field-name="dataResourceId"/>
>>>> + </relation>
>>>> + <relation type="many"
>>>> rel-entity-name="ContentAssocDataResourceViewFrom">
>>>> + <key-map field-name="contentId" rel-field-name="contentIdStart"/>
>>>> + </relation>
>>>> + <relation type="many"
>>>> rel-entity-name="ContentAssocDataResourceViewTo">
>>>> + <key-map field-name="contentId" rel-field-name="contentIdStart"/>
>>>> + </relation>
>>>> + </view-entity>
>>>> +
>>>> +</entitymodel>
>>>> 
>>>> Added: ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar?rev=1052521&view=auto
>>>> ==============================================================================
>>>> 
>>>> Binary file - no diff available.
>>>> 
>>>> Propchange: ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar
>>>> ------------------------------------------------------------------------------
>>>> 
>>>>    svn:mime-type = application/octet-stream
>>>> 
>>>> Added: ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar?rev=1052521&view=auto
>>>> ==============================================================================
>>>> 
>>>> Binary file - no diff available.
>>>> 
>>>> Propchange: ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar
>>>> ------------------------------------------------------------------------------
>>>> 
>>>>    svn:mime-type = application/octet-stream
>>>> 
>>>> Modified: ofbiz/trunk/applications/product/ofbiz-component.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/ofbiz-component.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>>>> 
>>>> ==============================================================================
>>>> ---
>>>> ofbiz/trunk/applications/product/ofbiz-component.xml (original) +++
>>>> ofbiz/trunk/applications/product/ofbiz-component.xml Fri Dec
>>>> 24 15:22:49 2010 @@ -24,8 +24,10 @@ under the License.
>>>> <resource-loader name="main" type="component"/>
>>>> <classpath type="dir" location="config"/>
>>>> <classpath type="jar" location="build/lib/*"/>
>>>> + <classpath type="jar" location="lib/*"/>
>>>> 
>>>> <entity-resource type="model" reader-name="main" loader="main"
>>>> location="entitydef/entitymodel.xml"/>
>>>> + <entity-resource type="model" reader-name="main" loader="main"
>>>> location="entitydef/entitymodel_view.xml"/>
>>>> <entity-resource type="model" reader-name="main" loader="main"
>>>> location="entitydef/entitymodel_old.xml"/>
>>>> <entity-resource type="model" reader-name="main" loader="main"
>>>> location="entitydef/entitymodel_shipment.xml"/>
>>>> <entity-resource type="model" reader-name="main" loader="main"
>>>> location="entitydef/entitymodel_olap.xml"/>
>>>> 
>>>> Added:
>>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml?rev=1052521&view=auto
>>>> 
>>>> ==============================================================================
>>>> 
>>>> ---
>>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml
>>>> (added)
>>>> +++
>>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml
>>>> Fri Dec 24 15:22:49 2010
>>>> @@ -0,0 +1,59 @@
>>>> +<?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.
>>>> +-->
>>>> +
>>>> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>> +
>>>> xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
>>>> +
>>>> + <simple-method method-name="setImageThumbnail"
>>>> short-description="Set Image Thumbnail">
>>>> + <!-- change status lastest thumbnail to 'N' -->
>>>> + <entity-and list="lastestThumbnails" entity-name="ProductContent">
>>>> + <field-map field-name="productId" from-field="parameters.productId"/>
>>>> + <field-map field-name="productContentTypeId" value="IMAGE"/>
>>>> + <field-map field-name="thumbnail" value="Y"/>
>>>> + </entity-and>
>>>> + <first-from-list entry="lastestThumbnail" list="lastestThumbnails"/>
>>>> + <if-not-empty field="lastestThumbnail">
>>>> + <set field="lastestThumbnail.thumbnail" value="N"/>
>>>> + <store-value value-field="lastestThumbnail"/>
>>>> + </if-not-empty>
>>>> +
>>>> + <!-- set status thumbnail to 'Y' -->
>>>> + <entity-and list="productContents" entity-name="ProductContent">
>>>> + <field-map field-name="productId" from-field="parameters.productId"/>
>>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>>> + <field-map field-name="productContentTypeId" value="IMAGE"/>
>>>> + </entity-and>
>>>> + <first-from-list entry="productContent" list="productContents"/>
>>>> + <set field="productContent.thumbnail" value="Y"/>
>>>> + <store-value value-field="productContent"/>
>>>> +
>>>> + <!-- set thumbnail to product -->
>>>> + <entity-and list="productContentAndInfos"
>>>> entity-name="ProductContentAndInfo">
>>>> + <field-map field-name="productId" from-field="parameters.productId"/>
>>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>>> + <field-map field-name="productContentTypeId" value="IMAGE"/>
>>>> + </entity-and>
>>>> + <if-not-empty field="productContentAndInfos">
>>>> + <set field="setThumbnailMap.productId"
>>>> from-field="parameters.productId"/>
>>>> + <set field="setThumbnailMap.contentIdTo"
>>>> from-field="parameters.contentIdTo"/>
>>>> + <call-service service-name="setThumbnail"
>>>> in-map-name="setThumbnailMap"/>
>>>> + </if-not-empty>
>>>> + </simple-method>
>>>> +</simple-methods>
>>>> 
>>>> Added:
>>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml?rev=1052521&view=auto
>>>> 
>>>> ==============================================================================
>>>> 
>>>> ---
>>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml
>>>> (added)
>>>> +++
>>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml
>>>> Fri Dec 24 15:22:49
>>>> 2010 @@ -0,0 +1,370 @@
>>>> +<?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.
>>>> +-->
>>>> +
>>>> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>> +
>>>> xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
>>>> +
>>>> + <simple-method method-name="UploadProductImages"
>>>> short-description="Method to upload multiple images for product">
>>>> + <set-service-fields service-name="addMultipleuploadForProduct"
>>>> map="parameters"
>>>> to-map="addAdditionalViewForProductMap"/> + <if-not-empty
>>>> field="parameters.additionalImageOne">
>>>> + <set field="addAdditionalViewForProductMap.productId"
>>>> from-field="parameters.productId"/>
>>>> + <set field="addAdditionalViewForProductMap.imageResize"
>>>> from-field="parameters.imageResize"/>
>>>> + <set field="addAdditionalViewForProductMap.uploadedFile"
>>>> from-field="parameters.additionalImageOne"/>
>>>> + <set field="addAdditionalViewForProductMap.productContentTypeId"
>>>> value="IMAGE"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>>> from-field="parameters._additionalImageOne_fileName"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>>> from-field="parameters._additionalImageOne_contentType"/>
>>>> + <call-service service-name="addMultipleuploadForProduct"
>>>> in-map-name="addAdditionalViewForProductMap"/>
>>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>>> + </if-not-empty>
>>>> + <if-not-empty field="parameters.additionalImageTwo">
>>>> + <set field="addAdditionalViewForProductMap.productId"
>>>> from-field="parameters.productId"/>
>>>> + <set field="addAdditionalViewForProductMap.imageResize"
>>>> from-field="parameters.imageResize"/>
>>>> + <set field="addAdditionalViewForProductMap.uploadedFile"
>>>> from-field="parameters.additionalImageTwo"/>
>>>> + <set field="addAdditionalViewForProductMap.productContentTypeId"
>>>> value="IMAGE"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>>> from-field="parameters._additionalImageTwo_fileName"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>>> from-field="parameters._additionalImageTwo_contentType"/>
>>>> + <call-service service-name="addMultipleuploadForProduct"
>>>> in-map-name="addAdditionalViewForProductMap"/>
>>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>>> + </if-not-empty>
>>>> + <if-not-empty field="parameters.additionalImageThree">
>>>> + <set field="addAdditionalViewForProductMap.productId"
>>>> from-field="parameters.productId"/>
>>>> + <set field="addAdditionalViewForProductMap.imageResize"
>>>> from-field="parameters.imageResize"/>
>>>> + <set field="addAdditionalViewForProductMap.uploadedFile"
>>>> from-field="parameters.additionalImageThree"/>
>>>> + <set field="addAdditionalViewForProductMap.productContentTypeId"
>>>> value="IMAGE"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>>> from-field="parameters._additionalImageThree_fileName"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>>> from-field="parameters._additionalImageThree_contentType"/>
>>>> + <call-service service-name="addMultipleuploadForProduct"
>>>> in-map-name="addAdditionalViewForProductMap"/>
>>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>>> + </if-not-empty>
>>>> + <if-not-empty field="parameters.additionalImageFour">
>>>> + <set field="addAdditionalViewForProductMap.productId"
>>>> from-field="parameters.productId"/>
>>>> + <set field="addAdditionalViewForProductMap.imageResize"
>>>> from-field="parameters.imageResize"/>
>>>> + <set field="addAdditionalViewForProductMap.uploadedFile"
>>>> from-field="parameters.additionalImageFour"/>
>>>> + <set field="addAdditionalViewForProductMap.productContentTypeId"
>>>> value="IMAGE"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>>> from-field="parameters._additionalImageFour_fileName"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>>> from-field="parameters._additionalImageFour_contentType"/>
>>>> + <call-service service-name="addMultipleuploadForProduct"
>>>> in-map-name="addAdditionalViewForProductMap"/>
>>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>>> + </if-not-empty>
>>>> + <if-not-empty field="parameters.additionalImageFive">
>>>> + <set field="addAdditionalViewForProductMap.productId"
>>>> from-field="parameters.productId"/>
>>>> + <set field="addAdditionalViewForProductMap.imageResize"
>>>> from-field="parameters.imageResize"/>
>>>> + <set field="addAdditionalViewForProductMap.uploadedFile"
>>>> from-field="parameters.additionalImageFive"/>
>>>> + <set field="addAdditionalViewForProductMap.productContentTypeId"
>>>> value="IMAGE"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>>> from-field="parameters._additionalImageFive_fileName"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>>> from-field="parameters._additionalImageFive_contentType"/>
>>>> + <call-service service-name="addMultipleuploadForProduct"
>>>> in-map-name="addAdditionalViewForProductMap"/>
>>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>>> + </if-not-empty>
>>>> + <if-not-empty field="parameters.additionalImageSix">
>>>> + <set field="addAdditionalViewForProductMap.productId"
>>>> from-field="parameters.productId"/>
>>>> + <set field="addAdditionalViewForProductMap.imageResize"
>>>> from-field="parameters.imageResize"/>
>>>> + <set field="addAdditionalViewForProductMap.uploadedFile"
>>>> from-field="parameters.additionalImageSix"/>
>>>> + <set field="addAdditionalViewForProductMap.productContentTypeId"
>>>> value="IMAGE"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>>> from-field="parameters._additionalImageSix_fileName"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>>> from-field="parameters._additionalImageSix_contentType"/>
>>>> + <call-service service-name="addMultipleuploadForProduct"
>>>> in-map-name="addAdditionalViewForProductMap"/>
>>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>>> + </if-not-empty>
>>>> + <if-not-empty field="parameters.additionalImageSeven">
>>>> + <set field="addAdditionalViewForProductMap.productId"
>>>> from-field="parameters.productId"/>
>>>> + <set field="addAdditionalViewForProductMap.imageResize"
>>>> from-field="parameters.imageResize"/>
>>>> + <set field="addAdditionalViewForProductMap.uploadedFile"
>>>> from-field="parameters.additionalImageSeven"/>
>>>> + <set field="addAdditionalViewForProductMap.productContentTypeId"
>>>> value="IMAGE"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>>> from-field="parameters._additionalImageSeven_fileName"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>>> from-field="parameters._additionalImageSeven_contentType"/>
>>>> + <call-service service-name="addMultipleuploadForProduct"
>>>> in-map-name="addAdditionalViewForProductMap"/>
>>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>>> + </if-not-empty>
>>>> + <if-not-empty field="parameters.additionalImageEight">
>>>> + <set field="addAdditionalViewForProductMap.productId"
>>>> from-field="parameters.productId"/>
>>>> + <set field="addAdditionalViewForProductMap.imageResize"
>>>> from-field="parameters.imageResize"/>
>>>> + <set field="addAdditionalViewForProductMap.uploadedFile"
>>>> from-field="parameters.additionalImageEight"/>
>>>> + <set field="addAdditionalViewForProductMap.productContentTypeId"
>>>> value="IMAGE"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>>> from-field="parameters._additionalImageEight_fileName"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>>> from-field="parameters._additionalImageEight_contentType"/>
>>>> + <call-service service-name="addMultipleuploadForProduct"
>>>> in-map-name="addAdditionalViewForProductMap"/>
>>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>>> + </if-not-empty>
>>>> + <if-not-empty field="parameters.additionalImageNine">
>>>> + <set field="addAdditionalViewForProductMap.productId"
>>>> from-field="parameters.productId"/>
>>>> + <set field="addAdditionalViewForProductMap.imageResize"
>>>> from-field="parameters.imageResize"/>
>>>> + <set field="addAdditionalViewForProductMap.uploadedFile"
>>>> from-field="parameters.additionalImageNine"/>
>>>> + <set field="addAdditionalViewForProductMap.productContentTypeId"
>>>> value="IMAGE"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>>> from-field="parameters._additionalImageNine_fileName"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>>> from-field="parameters._additionalImageNine_contentType"/>
>>>> + <call-service service-name="addMultipleuploadForProduct"
>>>> in-map-name="addAdditionalViewForProductMap"/>
>>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>>> + </if-not-empty>
>>>> + <if-not-empty field="parameters.additionalImageTen">
>>>> + <set field="addAdditionalViewForProductMap.productId"
>>>> from-field="parameters.productId"/>
>>>> + <set field="addAdditionalViewForProductMap.imageResize"
>>>> from-field="parameters.imageResize"/>
>>>> + <set field="addAdditionalViewForProductMap.uploadedFile"
>>>> from-field="parameters.additionalImageTen"/>
>>>> + <set field="addAdditionalViewForProductMap.productContentTypeId"
>>>> value="IMAGE"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>>> from-field="parameters._additionalImageTen_fileName"/>
>>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>>> from-field="parameters._additionalImageTen_contentType"/>
>>>> + <call-service service-name="addMultipleuploadForProduct"
>>>> in-map-name="addAdditionalViewForProductMap"/>
>>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>>> + </if-not-empty>
>>>> + <field-to-result field="parameters.productId"
>>>> result-name="productId"/>
>>>> + </simple-method>
>>>> +
>>>> + <simple-method method-name="removeProductContentAndImageFile"
>>>> short-description="Remove Content From Product and Image
>>>> File"> + <entity-and list="contentAssocs" entity-name="ContentAssoc">
>>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>>> + <field-map field-name="contentAssocTypeId" value="IMAGE_THUMBNAIL"/>
>>>> + </entity-and>
>>>> + <if-not-empty field="contentAssocs">
>>>> + <first-from-list entry="contentAssoc" list="contentAssocs"/>
>>>> + <remove-value value-field="contentAssoc"/>
>>>> +
>>>> + <set field="removeContent.contentId"
>>>> from-field="contentAssoc.contentIdTo"/>
>>>> + <set field="removeContent.productId"
>>>> from-field="parameters.productId"/>
>>>> + <call-service
>>>> service-name="removeProductContentForImageManagement"
>>>> in-map-name="removeContent"/>
>>>> + </if-not-empty>
>>>> +
>>>> + <make-value value-field="lookupPKMap" entity-name="ProductContent"/>
>>>> + <set-pk-fields map="parameters" value-field="lookupPKMap"/>
>>>> + <find-by-primary-key map="lookupPKMap" value-field="lookedUpValue"/>
>>>> + <remove-value value-field="lookedUpValue"/>
>>>> + <set field="removeContent.contentId"
>>>> from-field="parameters.contentId"/>
>>>> + <set field="removeContent.productId"
>>>> from-field="parameters.productId"/>
>>>> + <call-service
>>>> service-name="removeProductContentForImageManagement"
>>>> in-map-name="removeContent"/>
>>>> + </simple-method>
>>>> +
>>>> + <simple-method
>>>> method-name="removeProductContentForImageManagement"
>>>> short-description="Remove Content From Product">
>>>> + <entity-and list="contentRoles" entity-name="ContentRole" >
>>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>>> + </entity-and>
>>>> + <remove-value value-field="contentRoles[0]"/>
>>>> +
>>>> + <entity-condition entity-name="PartyContent" list="partyContents">
>>>> + <condition-list combine="and">
>>>> + <condition-expr field-name="contentId"
>>>> from-field="parameters.contentId"/>
>>>> + <condition-expr field-name="partyContentTypeId"
>>>> value="IMAGEAPPROVER"/>
>>>> + </condition-list>
>>>> + </entity-condition>
>>>> + <iterate entry="partyContent" list="partyContents">
>>>> + <remove-value value-field="partyContent"/>
>>>> + </iterate>
>>>> +
>>>> + <entity-one value-field="content" entity-name="Content">
>>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>>> + </entity-one>
>>>> +
>>>> + <set field="removeContentPKMap.contentId"
>>>> from-field="parameters.contentId"/>
>>>> + <set-service-fields service-name="removeContent"
>>>> map="removeContentPKMap" to-map="removeContentMap"/>
>>>> + <call-service service-name="removeContent"
>>>> in-map-name="removeContentMap"/>
>>>> +
>>>> + <set field="dataResourceId" from-field="content.dataResourceId"/>
>>>> + <entity-and list="dataResourceRoles" entity-name="DataResourceRole" >
>>>> + <field-map field-name="dataResourceId" from-field="dataResourceId"/>
>>>> + </entity-and>
>>>> + <remove-value value-field="dataResourceRoles[0]"/>
>>>> +
>>>> + <entity-one value-field="dataResource" entity-name="DataResource">
>>>> + <field-map field-name="dataResourceId" from-field="dataResourceId"/>
>>>> + </entity-one>
>>>> +
>>>> + <set field="removeImageFile.productId"
>>>> from-field="parameters.productId"/>
>>>> + <set field="removeImageFile.contentId"
>>>> from-field="parameters.contentId"/>
>>>> + <set field="removeImageFile.dataResourceName"
>>>> from-field="dataResource.dataResourceName"/>
>>>> + <set-service-fields
>>>> service-name="removeImageFileForImageManagement"
>>>> map="removeImageFile" to-map="removeImageFileMap"/>
>>>> + <call-service service-name="removeImageFileForImageManagement"
>>>> in-map-name="removeImageFileMap"/>
>>>> +
>>>> + <set field="removeDataResourcePKMap.dataResourceId"
>>>> from-field="dataResourceId"/>
>>>> + <set-service-fields service-name="removeDataResource"
>>>> map="removeDataResourcePKMap" to-map="removeDataResourceMap"/>
>>>> + <call-service service-name="removeDataResource"
>>>> in-map-name="removeDataResourceMap"/>
>>>> + </simple-method>
>>>> +
>>>> + <simple-method method-name="setImageDetail" short-description="Set
>>>> Image Detail">
>>>> + <!-- set sort order (defaultSequenceNum) and exclude (enable) -->
>>>> + <entity-one value-field="productContent"
>>>> entity-name="ProductContent"/>
>>>> + <set field="productContent.defaultSequenceNum"
>>>> from-field="parameters.defaultSequenceNum" type="Long"/>
>>>> + <store-value value-field="productContent"/>
>>>> + <if-not-empty field="parameters.defaultSequenceNum">
>>>> + <script
>>>> location="component://image_management/webapp/image_management/WEB-INF/actions/sortSequenceNum.groovy"/>
>>>> + <set field="productContent.defaultSequenceNum"
>>>> from-field="parameters.defaultSequenceNum" type="Long"/>
>>>> + <store-value value-field="productContent"/>
>>>> + </if-not-empty>
>>>> + <if-compare operator="equals" value="false"
>>>> field="parameters.enable"> <!-- if ticked checked box = false -->
>>>> + <set field="parameters.enable" value="true"/>
>>>> + <else>
>>>> + <set field="parameters.enable" value="false"/>
>>>> + </else>
>>>> + </if-compare>
>>>> + <set field="productContent.enable" from-field="parameters.enable"
>>>> type="Boolean"/>
>>>> + <store-value value-field="productContent"/>
>>>> +
>>>> + <!-- set caption -->
>>>> + <entity-one value-field="content" entity-name="Content"/>
>>>> + <set field="content.description"
>>>> from-field="parameters.description"/>
>>>> + <store-value value-field="content"/>
>>>> + </simple-method>
>>>> +
>>>> + <simple-method method-name="updateStatusImageManagement"
>>>> short-description="Update Status Image Management">
>>>> + <now-timestamp field="nowTimestamp"/>
>>>> + <set field="parameters.checkStatusId" value="${groovy: import
>>>> org.ofbiz.base.util.StringUtil;
>>>> +        checkStatusVal = parameters.checkStatusId;
>>>> +        statusId = StringUtil.split(checkStatusVal, &quot;/&quot;);
>>>> +        if (statusId) return statusId[0];
>>>> +        }"/>
>>>> + <entity-and entity-name="PartyContent" list="partyContents">
>>>> + <field-map field-name="partyId" from-field="userLogin.partyId"/>
>>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>>> + <field-map field-name="partyContentTypeId" value="IMAGEAPPROVER"/>
>>>> + </entity-and>
>>>> + <first-from-list entry="partyContent" list="partyContents"/>
>>>> + <if-not-empty field="parameters.checkStatusId">
>>>> + <set field="partyContent.statusId"
>>>> from-field="parameters.checkStatusId"/>
>>>> + </if-not-empty>
>>>> + <store-value value-field="partyContent"/>
>>>> +
>>>> + <if-compare field="parameters.checkStatusId" operator="equals"
>>>> value="IM_REJECTED">
>>>> + <entity-condition entity-name="PartyContent" list="checkRejects">
>>>> + <condition-list combine="and">
>>>> + <condition-expr field-name="contentId" operator="equals"
>>>> from-field="parameters.contentId"/>
>>>> + <condition-expr field-name="partyContentTypeId" operator="equals"
>>>> value="IMAGEAPPROVER"/>
>>>> + </condition-list>
>>>> + </entity-condition>
>>>> + <iterate entry="checkReject" list="checkRejects">
>>>> + <set field="checkReject.statusId" value="IM_REJECTED"/>
>>>> + <store-value value-field="checkReject"/>
>>>> + </iterate>
>>>> + <entity-one entity-name="Content" value-field="content"/>
>>>> + <set field="content.statusId" value="IM_REJECTED"/>
>>>> + <set field="content.createdByUserLogin"
>>>> from-field="userLogin.userLoginId"/>
>>>> + <store-value value-field="content"/>
>>>> + <else>
>>>> + <if-compare field="parameters.checkStatusId" operator="equals"
>>>> value="IM_APPROVED">
>>>> + <entity-count entity-name="PartyContent" count-field="countParty">
>>>> + <condition-list combine="and">
>>>> + <condition-expr field-name="contentId" operator="equals"
>>>> from-field="parameters.contentId"/>
>>>> + <condition-expr field-name="partyContentTypeId" operator="equals"
>>>> value="IMAGEAPPROVER"/>
>>>> + </condition-list>
>>>> + </entity-count>
>>>> + <if-compare field="countParty" operator="equals" value="1">
>>>> + <entity-one entity-name="Content" value-field="content"/>
>>>> + <set field="content.statusId" value="IM_APPROVED"/>
>>>> + <store-value value-field="content"/>
>>>> +
>>>> + <entity-and entity-name="ProductContent" list="productContents">
>>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>>> + <field-map field-name="productContentTypeId" value="IMAGE"/>
>>>> + </entity-and>
>>>> + <first-from-list entry="productContent" list="productContents"/>
>>>> + <set field="productContent.purchaseFromDate"
>>>> from-field="nowTimestamp"/>
>>>> + <set field="productContent.enable" value="N"/>
>>>> + <set field="productContent.thumbnail" value="N"/>
>>>> + <store-value value-field="productContent"/>
>>>> + <else>
>>>> + <entity-count entity-name="PartyContent" count-field="countApprove">
>>>> + <condition-list combine="and">
>>>> + <condition-expr field-name="contentId" operator="equals"
>>>> from-field="parameters.contentId"/>
>>>> + <condition-expr field-name="partyContentTypeId" operator="equals"
>>>> value="IMAGEAPPROVER"/>
>>>> + <condition-expr field-name="statusId" operator="equals"
>>>> value="IM_APPROVED"/>
>>>> + </condition-list>
>>>> + </entity-count>
>>>> + <if-compare field="countApprove" operator="greater-equals" value="2">
>>>> + <entity-one entity-name="Content" value-field="content"/>
>>>> + <set field="content.statusId" value="IM_APPROVED"/>
>>>> + <store-value value-field="content"/>
>>>> +
>>>> + <entity-and entity-name="ProductContent" list="productContents">
>>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>>> + <field-map field-name="productContentTypeId" value="IMAGE"/>
>>>> + </entity-and>
>>>> + <first-from-list entry="productContent" list="productContents"/>
>>>> + <set field="productContent.purchaseFromDate"
>>>> from-field="nowTimestamp"/>
>>>> + <set field="productContent.enable" value="N"/>
>>>> + <set field="productContent.thumbnail" value="N"/>
>>>> + <store-value value-field="productContent"/>
>>>> +
>>>> + <entity-condition entity-name="PartyContent" list="checkApproveList">
>>>> + <condition-list combine="and">
>>>> + <condition-expr field-name="contentId" operator="equals"
>>>> from-field="parameters.contentId"/>
>>>> + <condition-expr field-name="partyContentTypeId" operator="equals"
>>>> value="IMAGEAPPROVER"/> + </condition-list>
>>>> + </entity-condition>
>>>> + <iterate entry="checkApprove" list="checkApproveList">
>>>> + <set field="checkApprove.statusId" value="IM_APPROVED"/>
>>>> + <store-value value-field="checkApprove"/>
>>>> + </iterate>
>>>> + </if-compare>
>>>> + </else>
>>>> + </if-compare>
>>>> + </if-compare>
>>>> + </else>
>>>> + </if-compare>
>>>> + </simple-method>
>>>> +
>>>> + <simple-method method-name="addRejectedReasonImageManagement"
>>>> short-description="Add Rejected Reason Image Management">
>>>> + <now-timestamp field="nowTimestam"/>
>>>> + <entity-one entity-name="Content" value-field="content"/>
>>>> + <if-not-empty field="parameters.description">
>>>> + <if-compare field="parameters.description" value="RETAKE_PHOTO"
>>>> operator="equals">
>>>> + <set field="content.description" value="Re-take Photo"/>
>>>> + </if-compare>
>>>> + <if-compare field="parameters.description" value="REMOVE_LOGO"
>>>> operator="equals">
>>>> + <set field="content.description" value="Remove Logo"/>
>>>> + </if-compare>
>>>> + <if-compare field="parameters.description" value="OTHER"
>>>> operator="equals">
>>>> + <set field="content.description" value="Other"/>
>>>> + </if-compare>
>>>> + <else>
>>>> + <set field="content.description" value="Other"/>
>>>> + </else>
>>>> + </if-not-empty>
>>>> + <store-value value-field="content"/>
>>>> +
>>>> + <entity-and entity-name="ProductContent" list="productContents">
>>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>>> + <field-map field-name="productContentTypeId" value="IMAGE"/>
>>>> + </entity-and>
>>>> + <first-from-list entry="productContent" list="productContents"/>
>>>> + <set field="productContent.thruDate" from-field="nowTimestam"/>
>>>> + <store-value value-field="productContent"/>
>>>> + </simple-method>
>>>> +
>>>> + <simple-method method-name="createImagePartyContent"
>>>> short-description="Create Party Content of Image">
>>>> + <now-timestamp field="nowTimestam"/>
>>>> + <entity-and entity-name="PartyRole" list="partyRoles">
>>>> + <field-map field-name="roleTypeId" value="IMAGEAPPROVER"/>
>>>> + </entity-and>
>>>> + <iterate list="partyRoles" entry="partyRole">
>>>> + <set field="partyContent.partyId" from-field="partyRole.partyId"/>
>>>> + <set field="partyContent.contentId"
>>>> from-field="parameters.contentId"/>
>>>> + <set field="partyContent.partyContentTypeId" value="IMAGEAPPROVER"/>
>>>> + <set field="partyContent.fromDate" from-field="nowTimestam"/>
>>>> + <set field="partyContent.statusId" value="IM_PENDING"/>
>>>> + <call-service service-name="createPartyContent"
>>>> in-map-name="partyContent"/>
>>>> + </iterate>
>>>> + </simple-method>
>>>> +
>>>> + <simple-method method-name="removeImagePartyContent"
>>>> short-description="Remove Party Content of Image">
>>>> + <entity-and entity-name="PartyContent" list="partyContents">
>>>> + <field-map field-name="partyId" from-field="parameters.partyId"/>
>>>> + <field-map field-name="partyContentTypeId" value="IMAGEAPPROVER"/>
>>>> + </entity-and>
>>>> + <iterate list="partyContents" entry="partyContent">
>>>> + <remove-value value-field="partyContent"/>
>>>> + </iterate>
>>>> + </simple-method>
>>>> +</simple-methods>
>>>> 
>>>> Modified: ofbiz/trunk/applications/product/servicedef/secas.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/secas.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>>>> 
>>>> ==============================================================================
>>>> 
>>>> --- ofbiz/trunk/applications/product/servicedef/secas.xml (original)
>>>> +++ ofbiz/trunk/applications/product/servicedef/secas.xml Fri Dec 24
>>>> 15:22:49 2010
>>>> @@ -128,5 +128,11 @@ under the License.
>>>> <eca service="receiveInventoryProduct" event="commit">
>>>> <action service="updateProductAverageCostOnReceiveInventory"
>>>> mode="sync"/>
>>>> </eca>
>>>> +
>>>> + <!-- Remove party content of image  -->
>>>> + <eca service="deletePartyRole" event="commit">
>>>> + <condition field-name="roleTypeId" operator="equals"
>>>> value="IMAGEAPPROVER"/>
>>>> + <action service="removeImagePartyContent" mode="sync"/>
>>>> + </eca>
>>>> 
>>>> </service-eca>

Re: svn commit: r1052521 [1/8] - in /ofbiz/trunk: ./ applications/order/ applications/product/ applications/product/config/ applications/product/data/ applications/product/data/helpdata/ applications/product/entitydef/ applications/product/lib/ application

Posted by Hans Bakker <ma...@antwebsystems.com>.
It is a very long time ago Jacques....

let me see what i can do....

Regards,
Hans

On 05/10/2012 01:32 PM, Jacques Le Roux wrote:
> Hans,
>
> Could you please clean that when you will get a chance?
>
> Another point to note. It's a best practise to use version in js files 
> names. This allows the browser cache to keep a local copy until a new 
> version is used on server side.
>
> Jacques
>
> Jacques Le Roux wrote:
>> Hi Hans,
>>
>> Sorry this is already a year+ now, but I stumbled upon
>> trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.min.js 
>>
>> and I think something is not right there. I mean in 
>> trunk/applications/product/webapp/catalog/imagemanagement/js by and 
>> large, not
>> only for jquery.min.js.
>>
>> So could you please put them rather under images/jquery (sharing with 
>> jquery-1.7.min.js, using plugin dir for others) in order to
>> keep things clean and updated?
>>
>> I don't think it needs to be backported though...
>>
>> Thanks
>>
>> Jacques
>>
>> From: <ha...@apache.org>
>>> Author: hansbak
>>> Date: Fri Dec 24 15:22:49 2010
>>> New Revision: 1052521
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1052521&view=rev
>>> Log:
>>> the first version of a product image management system when you want 
>>> to upload and approve prand manupulate product images, see
>>> catalog -> image management
>>>
>>> Added:
>>>    
>>> ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml
>>>    ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml
>>>    ofbiz/trunk/applications/product/lib/
>>>    ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar   (with props)
>>>    ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar   
>>> (with props)
>>>    
>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/
>>>    
>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml
>>>    
>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml
>>>    
>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/
>>>    
>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/CropImage.java
>>>    
>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/FrameImage.java
>>>    
>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageManagementServices.java
>>>    
>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageUrlServlet.java
>>>    
>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ReplaceImage.java
>>>    
>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/RotateImage.java
>>>    
>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/WatermarkImage.java
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/ImageFrame.groovy
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/ImageRecentlyApproved.groovy
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/ImageUpload.groovy
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/automaticResize.groovy
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/checkAction.groovy
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/checkRejected.groovy
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/seoLocales.groovy
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/sortSequenceNum.groovy
>>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/AddMultipleImages.ftl
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/AutomaticResize.ftl
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageCrop.ftl
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageFrame.ftl
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageGallery.ftl
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageRecentlyApproved.ftl
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageRotateButton.ftl
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageRotating.ftl
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageShare.ftl
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageWatermark.ftl
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ResizeImage.ftl
>>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Jcrop.css
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Jcrop.js
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Jcrop.min.js
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Rotate.js
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.form.js
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.function.js
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.min.js
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/showPeopleApprove.ftl
>>>    
>>> ofbiz/trunk/applications/product/widget/catalog/ImageManagementForms.xml 
>>>
>>>    
>>> ofbiz/trunk/applications/product/widget/catalog/ImageManagementScreens.xml
>>> Modified:
>>>    ofbiz/trunk/.classpath
>>>    ofbiz/trunk/applications/order/ofbiz-component.xml
>>>    ofbiz/trunk/applications/product/build.xml
>>>    ofbiz/trunk/applications/product/config/ImageProperties.xml
>>>    ofbiz/trunk/applications/product/config/ProductUiLabels.xml
>>>    ofbiz/trunk/applications/product/data/ProductDemoData.xml
>>>    ofbiz/trunk/applications/product/data/ProductHelpData.xml
>>>    ofbiz/trunk/applications/product/data/ProductSecurityData.xml
>>>    ofbiz/trunk/applications/product/data/ProductTypeData.xml
>>>    ofbiz/trunk/applications/product/entitydef/entitymodel.xml
>>>    ofbiz/trunk/applications/product/ofbiz-component.xml
>>>    ofbiz/trunk/applications/product/servicedef/secas.xml
>>>    ofbiz/trunk/applications/product/servicedef/services.xml
>>>    
>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/image/ScaleImage.java
>>>    
>>> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
>>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/web.xml
>>>    ofbiz/trunk/applications/product/widget/catalog/CatalogMenus.xml
>>>    ofbiz/trunk/applications/product/widget/catalog/CommonScreens.xml
>>>    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilMisc.java
>>>
>>> Modified: ofbiz/trunk/.classpath
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/trunk/.classpath?rev=1052521&r1=1052520&r2=1052521&view=diff
>>> ============================================================================== 
>>>
>>> --- ofbiz/trunk/.classpath (original)
>>> +++ ofbiz/trunk/.classpath Fri Dec 24 15:22:49 2010
>>> @@ -4,6 +4,8 @@
>>> <classpathentry kind="con" 
>>> path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
>>> <classpathentry kind="lib" 
>>> path="applications/content/lib/lucene-core-3.0.3.jar"/>
>>> <classpathentry kind="lib" 
>>> path="applications/content/lib/poi-3.2-FINAL-20081019.jar"/>
>>> + <classpathentry kind="lib" 
>>> path="framework/base/lib/watermarker-0.0.4.jar"/>
>>> + <classpathentry kind="lib" 
>>> path="framework/base/lib/dozer-4.2.1.jar"/>
>>> <classpathentry kind="lib" path="framework/base/lib/ant-1.7.1.jar"/>
>>> <classpathentry kind="lib" 
>>> path="framework/base/lib/ant-junit-1.7.1.jar"/>
>>> <classpathentry kind="lib" 
>>> path="framework/base/lib/ant-launcher-1.7.1.jar"/>
>>>
>>> Modified: ofbiz/trunk/applications/order/ofbiz-component.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/ofbiz-component.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>>> ============================================================================== 
>>>
>>> --- ofbiz/trunk/applications/order/ofbiz-component.xml (original)
>>> +++ ofbiz/trunk/applications/order/ofbiz-component.xml Fri Dec 24 
>>> 15:22:49 2010
>>> @@ -38,7 +38,6 @@ under the License.
>>> <entity-resource type="data" reader-name="seed" loader="main" 
>>> location="data/OrderHelpData.xml"/>
>>> <entity-resource type="data" reader-name="demo" loader="main" 
>>> location="data/OrderDemoUser.xml"/>
>>> <entity-resource type="data" reader-name="demo" loader="main" 
>>> location="data/OrderDemoData.xml"/>
>>> - <entity-resource type="data" reader-name="demo" loader="main" 
>>> location="data/SalesOrderDemoData.xml"/>
>>>
>>> <service-resource type="model" loader="main" 
>>> location="servicedef/services.xml"/>
>>> <service-resource type="model" loader="main" 
>>> location="servicedef/services_cart.xml"/>
>>>
>>> Modified: ofbiz/trunk/applications/product/build.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/build.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>>> ============================================================================== 
>>>
>>> --- ofbiz/trunk/applications/product/build.xml (original)
>>> +++ ofbiz/trunk/applications/product/build.xml Fri Dec 24 15:22:49 2010
>>> @@ -47,6 +47,7 @@ under the License.
>>> <fileset dir="../content/lib" includes="*.jar"/>
>>> <fileset dir="../content/build/lib" includes="*.jar"/>
>>> <fileset dir="../party/build/lib" includes="*.jar"/>
>>> + <fileset dir="lib" includes="*.jar"/>
>>> </path>
>>>
>>> <target name="init">
>>>
>>> Modified: ofbiz/trunk/applications/product/config/ImageProperties.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ImageProperties.xml?rev=1052521&r1=1052520&r2=1052521&view=diff 
>>>
>>> ============================================================================== 
>>>
>>> --- ofbiz/trunk/applications/product/config/ImageProperties.xml 
>>> (original)
>>> +++ ofbiz/trunk/applications/product/config/ImageProperties.xml Fri 
>>> Dec 24 15:22:49 2010
>>> @@ -35,4 +35,36 @@ under the License.
>>> <dimension name="height" value="600"/>
>>> <dimension name="width" value="600"/>
>>> </size>
>>> + <size name="100x75">
>>> + <dimension name="height" value="75"/>
>>> + <dimension name="width" value="100"/>
>>> + </size>
>>> + <size name="150x112">
>>> + <dimension name="height" value="112"/>
>>> + <dimension name="width" value="150"/>
>>> + </size>
>>> + <size name="320x240">
>>> + <dimension name="height" value="240"/>
>>> + <dimension name="width" value="320"/>
>>> + </size>
>>> + <size name="640x480">
>>> + <dimension name="height" value="480"/>
>>> + <dimension name="width" value="640"/>
>>> + </size>
>>> + <size name="800x600">
>>> + <dimension name="height" value="600"/>
>>> + <dimension name="width" value="800"/>
>>> + </size>
>>> + <size name="1024x768">
>>> + <dimension name="height" value="768"/>
>>> + <dimension name="width" value="1024"/>
>>> + </size>
>>> + <size name="1280x1024">
>>> + <dimension name="height" value="1024"/>
>>> + <dimension name="width" value="1280"/>
>>> + </size>
>>> + <size name="1600x1200">
>>> + <dimension name="height" value="1200"/>
>>> + <dimension name="width" value="1600"/>
>>> + </size>
>>> </imageSize>
>>>
>>> Modified: ofbiz/trunk/applications/product/config/ProductUiLabels.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ProductUiLabels.xml?rev=1052521&r1=1052520&r2=1052521&view=diff 
>>>
>>> ============================================================================== 
>>>
>>> --- ofbiz/trunk/applications/product/config/ProductUiLabels.xml 
>>> (original)
>>> +++ ofbiz/trunk/applications/product/config/ProductUiLabels.xml Fri 
>>> Dec 24 15:22:49 2010
>>> @@ -19,6 +19,39 @@
>>>     under the License.
>>> -->
>>> <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>>> + <property key="Approve">
>>> + <value xml:lang="en">Approve</value>
>>> + <value xml:lang="th">ยืนยัน</value>
>>> + </property>
>>> + <property key="Approved">
>>> + <value xml:lang="en">Approved</value>
>>> + <value xml:lang="th">ยืนยันแล้ว</value>
>>> + </property>
>>> + <property key="AutomaticResize">
>>> + <value xml:lang="en">Automatic Resize</value>
>>> + <value 
>>> xml:lang="th">เปลี่ยนขนาดอัตโนมัติ</value>
>>> + </property>
>>> + <property key="CatalogWebAnalytics">
>>> + <value xml:lang="en">Web Analytics</value>
>>> + </property>
>>> + <property key="CatalogWebAnalyticsConfigs">
>>> + <value xml:lang="en">Web Analytics Configuration</value>
>>> + </property>
>>> + <property key="CatalogWebAnalyticsTypes">
>>> + <value xml:lang="en">Web Analytics Types</value>
>>> + </property>
>>> + <property key="ChooseImageToReplace">
>>> + <value xml:lang="en">Choose Image to Replace</value>
>>> + <value xml:lang="th">เลือกภ
>>> าพสำหรับแทนที่</value>
>>> + </property>
>>> + <property key="ChooseProductID">
>>> + <value xml:lang="en">Choose Product ID</value>
>>> + <value 
>>> xml:lang="th">เลือกรหัสสินค้า</value>
>>> + </property>
>>> + <property key="ChooseReplacementImage">
>>> + <value xml:lang="en">Choose Replacement Image</value>
>>> + <value xml:lang="th">เลือกภ
>>> าพที่จะแทนที่</value>
>>> + </property>
>>> <property key="FacilityActualShippingCharges">
>>> <value xml:lang="en">Actual shipping charges</value>
>>> <value xml:lang="it">Ricarico di spedizione attuale</value>
>>> @@ -4831,7 +4864,59 @@
>>> <value xml:lang="zh">äººå·¥æœåŠ¡å¥½çš„æ ‡å‡†ç±»åž‹æ ‡è¯†</value>
>>> <value xml:lang="zh_TW">å·¥é …æˆå“è¦ç¯„é¡žåž‹ID</value>
>>> </property>
>>> - <property key="PageTitleAddFacilityGroupRollup">
>>> + <property key="Gallery">
>>> + <value xml:lang="en">Gallery</value>
>>> + <value xml:lang="th">แกลลอรี่</value>
>>> + </property>
>>> + <property key="ImageApprove">
>>> + <value xml:lang="en">Approve</value>
>>> + <value xml:lang="th">ยืนยันรูปภาพ</value>
>>> + </property>
>>> +
>>> + <property key="ImageCropping">
>>> + <value xml:lang="en">Image Cropping</value>
>>> + <value xml:lang="th">ตัดภาพ</value>
>>> + </property>
>>> + <property key="ImageFrames">
>>> + <value xml:lang="en">Image Frames</value>
>>> + <value xml:lang="th">เฟรม</value>
>>> + </property>
>>> + <property key="ImageManagement">
>>> + <value xml:lang="en">Image Management</value>
>>> + <value xml:lang="th">จัดการรูปภาพ</value>
>>> + </property>
>>> + <property key="ImageManagementApplication">
>>> + <value xml:lang="en">Image Management Application</value>
>>> + <value 
>>> xml:lang="th">โปรแกรมจัดการรูปภ
>>> าพ</value>
>>> + </property>
>>> + <property key="ImageRecentlyApproved">
>>> + <value xml:lang="en">Recently Approved</value>
>>> + <value xml:lang="th">รูปภ
>>> าพยืนยันล่าสุด</value>
>>> + </property>
>>> + <property key="ImageRejected">
>>> + <value xml:lang="en">Rejected</value>
>>> + <value xml:lang="th">ปฏิเสธรูปภาพ</value>
>>> + </property>
>>> + <property key="ImageRotating">
>>> + <value xml:lang="en">Image Rotating</value>
>>> + <value xml:lang="th">หมุนภาพ</value>
>>> + </property>
>>> + <property key="ImageUpload">
>>> + <value xml:lang="en">Upload</value>
>>> + <value xml:lang="th">อัพโหลดรูป</value>
>>> + </property>
>>> + <property key="ImageUploadList">
>>> + <value xml:lang="en">Image Upload List</value>
>>> + <value xml:lang="th">รูปภ
>>> าพที่อัพโหลด</value>
>>> + </property>
>>> + <property key="ImageWatermarking">
>>> + <value xml:lang="en">Image Watermarking</value>
>>> + <value xml:lang="th">ลายน้ำ</value>
>>> + </property>
>>> + <property key="Manage">
>>> + <value xml:lang="en">Manage</value>
>>> + <value xml:lang="th">จัดการ</value>
>>> + </property> <property key="PageTitleAddFacilityGroupRollup">
>>> <value xml:lang="de">Einrichtungsgruppe Rollup hinzufügen</value>
>>> <value xml:lang="en">Add Facility Group Rollup</value>
>>> <value xml:lang="es">Añadir despliegue de grupo de almacenes</value>
>>> @@ -23524,4 +23609,28 @@
>>> <value xml:lang="zh">ä½ æœç´¢</value>
>>> <value xml:lang="zh_TW">ä½ æ‰€æœç´¢çš„</value>
>>> </property>
>>> + <property key="RecentlyApproved">
>>> + <value xml:lang="en">Recently Approved</value>
>>> + <value xml:lang="th">แกลลอรี่</value>
>>> + </property>
>>> + <property key="Rejected">
>>> + <value xml:lang="en">Rejected</value>
>>> + <value xml:lang="th">ปฏิเสธ</value>
>>> + </property>
>>> + <property key="Replace">
>>> + <value xml:lang="en">Replace</value>
>>> + <value xml:lang="th">แทนที่</value>
>>> + </property>
>>> + <property key="ShareImage">
>>> + <value xml:lang="en">Share Image</value>
>>> + <value xml:lang="th">แบ่งบันภาพ</value>
>>> + </property>
>>> + <property key="Upload">
>>> + <value xml:lang="en">Upload</value>
>>> + <value xml:lang="th">อัพโหลด</value>
>>> + </property>
>>> + <property key="WelcomeMessage">
>>> + <value xml:lang="en">Welcome to the Image Management</value>
>>> + <value 
>>> xml:lang="th">ยินดีต้อนรับสู้รบบการจัดการรูปà¸
>>> าพ</value>
>>> + </property>
>>> </resource>
>>>
>>> Modified: ofbiz/trunk/applications/product/data/ProductDemoData.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductDemoData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff 
>>>
>>> ============================================================================== 
>>>
>>> --- ofbiz/trunk/applications/product/data/ProductDemoData.xml 
>>> (original)
>>> +++ ofbiz/trunk/applications/product/data/ProductDemoData.xml Fri 
>>> Dec 24 15:22:49 2010
>>> @@ -22,5 +22,25 @@ under the License.
>>> <!-- Limited user demo -->
>>> <UserLoginSecurityGroup groupId="CATALOGADMIN_LTD" 
>>> userLoginId="ltdadmin" fromDate="2001-01-01 12:00:00.0"/>
>>> <UserLoginSecurityGroup groupId="CATALOGADMIN_LTD" 
>>> userLoginId="ltdadmin1" fromDate="2001-01-01 12:00:00.0"/>
>>> +
>>> + <!-- Image Management user demo -->
>>> + <Party partyId="imageAdmin" partyTypeId="PERSON" 
>>> statusId="PARTY_ENABLED"/>
>>> + <Person partyId="imageAdmin" firstName="Image Management" 
>>> lastName="Administrator"/>
>>> + <UserLogin userLoginId="imageAdmin" partyId="imageAdmin" 
>>> currentPassword="{SHA}47b56994cbc2b6d10aa1be30f70165adb305a41a"/>
>>> + <UserLoginSecurityGroup userLoginId="imageAdmin" 
>>> groupId="FULLADMIN" fromDate="2010-01-01 12:00:00.0"/>
>>> + <UserLoginSecurityGroup userLoginId="imageAdmin" 
>>> groupId="IMAGEADMIN" fromDate="2010-01-01 12:00:00.0"/>
>>> + <UserLoginSecurityGroup userLoginId="imageAdmin" 
>>> groupId="IMAGEUPLOAD" fromDate="2010-01-01 12:00:00.0"/>
>>> +
>>> + <Party partyId="imageAdmin2" partyTypeId="PERSON" 
>>> statusId="PARTY_ENABLED"/>
>>> + <Person partyId="imageAdmin2" firstName="Image Management" 
>>> lastName="Administrator 2"/>
>>> + <UserLogin userLoginId="imageAdmin2" partyId="imageAdmin2" 
>>> currentPassword="{SHA}47b56994cbc2b6d10aa1be30f70165adb305a41a"/>
>>> + <UserLoginSecurityGroup userLoginId="imageAdmin2" 
>>> groupId="FULLADMIN" fromDate="2010-01-01 12:00:00.0"/>
>>> + <UserLoginSecurityGroup userLoginId="imageAdmin2" 
>>> groupId="IMAGEAPPROVE" fromDate="2010-01-01 12:00:00.0"/>
>>> +
>>> + <Party partyId="imageUpload" partyTypeId="PERSON" 
>>> statusId="PARTY_ENABLED"/>
>>> + <Person partyId="imageUpload" firstName="Image Management" 
>>> lastName="Upload"/>
>>> + <UserLogin userLoginId="imageUpload" partyId="imageUpload" 
>>> currentPassword="{SHA}47b56994cbc2b6d10aa1be30f70165adb305a41a"/>
>>> + <UserLoginSecurityGroup userLoginId="imageUpload" 
>>> groupId="FULLADMIN" fromDate="2010-01-01 12:00:00.0"/>
>>> + <UserLoginSecurityGroup userLoginId="imageUpload" 
>>> groupId="IMAGEUPLOAD" fromDate="2010-01-01 12:00:00.0"/>
>>>
>>> </entity-engine-xml>
>>>
>>> Modified: ofbiz/trunk/applications/product/data/ProductHelpData.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductHelpData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff 
>>>
>>> ============================================================================== 
>>>
>>> --- ofbiz/trunk/applications/product/data/ProductHelpData.xml 
>>> (original)
>>> +++ ofbiz/trunk/applications/product/data/ProductHelpData.xml Fri 
>>> Dec 24 15:22:49 2010
>>> @@ -26,4 +26,9 @@ under the License.
>>> <Content contentId="PRODCATALOG_main" contentTypeId="DOCUMENT" 
>>> contentName="Main Catalog Help"
>>> templateDataResourceId="HELP_TEMPL" 
>>> dataResourceId="PRODCATALOG_main" statusId="CTNT_IN_PROGRESS" 
>>> mimeTypeId="text/html"/>
>>> <ContentAssoc contentId="HELP_PRODUCT" 
>>> contentIdTo="PRODCATALOG_main" contentAssocTypeId="TREE_CHILD" 
>>> fromDate="2006-01-12
>>> 01:01:01" sequenceNum="000" mapKey="PRODCATALOG_main"/>
>>>
>>> + <!-- Image Management -->
>>> + <DataResource dataResourceId="IMAGEMANAGEMENT_MAIN" 
>>> localeString="en" dataResourceTypeId="OFBIZ_FILE"
>>> objectInfo="applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml" 
>>> dataTemplateTypeId="NONE" statusId="CTNT_IN_PROGRESS"
>>> dataResourceName="Image Management" mimeTypeId="text/xml" 
>>> isPublic="Y" />
>>> + <Content contentId="IMAGEMANAGEMENT_MAIN" contentTypeId="DOCUMENT" 
>>> contentName="Image Management"
>>> templateDataResourceId="HELP_TEMPL" 
>>> dataResourceId="IMAGEMANAGEMENT_MAIN" statusId="CTNT_IN_PROGRESS" 
>>> mimeTypeId="text/html"/>
>>> + <ContentAssoc contentId="PRODCATALOG_main" 
>>> contentIdTo="IMAGEMANAGEMENT_MAIN" contentAssocTypeId="TREE_CHILD"
>>> fromDate="2006-01-12 01:01:01" sequenceNum="01" 
>>> mapKey="PRODCATALOG_Imagemanagement"/>
>>> +
>>> </entity-engine-xml>
>>>
>>> Modified: ofbiz/trunk/applications/product/data/ProductSecurityData.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductSecurityData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff 
>>>
>>> ============================================================================== 
>>>
>>> --- ofbiz/trunk/applications/product/data/ProductSecurityData.xml 
>>> (original)
>>> +++ ofbiz/trunk/applications/product/data/ProductSecurityData.xml 
>>> Fri Dec 24 15:22:49 2010
>>> @@ -92,4 +92,20 @@ under the License.
>>> <SecurityGroupPermission groupId="FLEXADMIN" 
>>> permissionId="FACILITY_VIEW"/>
>>> <SecurityGroupPermission groupId="VIEWADMIN" 
>>> permissionId="FACILITY_VIEW"/>
>>> <SecurityGroupPermission groupId="BIZADMIN" 
>>> permissionId="FACILITY_ADMIN"/>
>>> +
>>> + <!-- Image Management security -->
>>> + <SecurityGroup description="Image Management Admin." 
>>> groupId="IMAGEADMIN"/>
>>> + <SecurityPermission description="All operations in the Image 
>>> Management." permissionId="IMAGE_MANAGEMENT_ADMIN"/>
>>> + <SecurityGroupPermission groupId="IMAGEADMIN" 
>>> permissionId="IMAGE_MANAGEMENT_ADMIN"/>
>>> + <SecurityGroupPermission groupId="IMAGEADMIN" 
>>> permissionId="IMAGE_MANAGEMENT_APPROVE"/>
>>> + <SecurityGroupPermission groupId="IMAGEADMIN" 
>>> permissionId="IMAGE_MANAGEMENT_UPLOAD"/>
>>> + <SecurityGroupPermission groupId="FULLADMIN" 
>>> permissionId="IMAGE_MANAGEMENT_ADMIN"/>
>>> +
>>> + <SecurityGroup description="Image Management Approve" 
>>> groupId="IMAGEAPPROVE"/>
>>> + <SecurityPermission description="Approve photos in the Image 
>>> Management." permissionId="IMAGE_MANAGEMENT_APPROVE"/>
>>> + <SecurityGroupPermission groupId="IMAGEAPPROVE" 
>>> permissionId="IMAGE_MANAGEMENT_APPROVE"/>
>>> +
>>> + <SecurityGroup description="Image Management Upload." 
>>> groupId="IMAGEUPLOAD"/>
>>> + <SecurityPermission description="Upload photos in the Image 
>>> Management." permissionId="IMAGE_MANAGEMENT_UPLOAD"/>
>>> + <SecurityGroupPermission groupId="IMAGEUPLOAD" 
>>> permissionId="IMAGE_MANAGEMENT_UPLOAD"/>
>>> </entity-engine-xml>
>>>
>>> Modified: ofbiz/trunk/applications/product/data/ProductTypeData.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductTypeData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff 
>>>
>>> ============================================================================== 
>>>
>>> --- ofbiz/trunk/applications/product/data/ProductTypeData.xml 
>>> (original)
>>> +++ ofbiz/trunk/applications/product/data/ProductTypeData.xml Fri 
>>> Dec 24 15:22:49 2010
>>> @@ -584,7 +584,49 @@ under the License.
>>> <WebSite webSiteId="FACILITY" siteName="Facility Manager" 
>>> visualThemeSetId="BACKOFFICE"/>
>>>
>>> <WebAnalyticsType description="Web Analytics" hasTable="N" 
>>> parentTypeId="" webAnalyticsTypeId="WEB_ANALYTICS"/>
>>> - <WebAnalyticsType webAnalyticsTypeId="GOOGLE_ANALYTICS" 
>>> parentTypeId="WEB_ANALYTICS" hasTable="N" description="Google
>>> Analytics"/>
>>> + <WebAnalyticsType webAnalyticsTypeId="GOOGLE_ANALYTICS" 
>>> parentTypeId="WEB_ANALYTICS" hasTable="N" description="Google
>>> Analytics"/>
>>> <WebAnalyticsType webAnalyticsTypeId="BING_ANALYTICS" 
>>> parentTypeId="WEB_ANALYTICS" hasTable="N" description="Bing
>>> Analytics"/> -
>>> +
>>> + <!-- Image Management -->
>>> + <RoleType roleTypeId="IMAGEAPPROVER" hasTable="N" 
>>> description="Image Approver"/>
>>> +
>>> + <PartyContentType partyContentTypeId="IMAGEAPPROVER" 
>>> description="Image Approver"/>
>>> +
>>> + <ProductContentType description="Image" hasTable="N" 
>>> parentTypeId="" productContentTypeId="IMAGE"/>
>>> + <ProductContentType description="Frame" hasTable="N" 
>>> parentTypeId="" productContentTypeId="FRAME"/>
>>> +
>>> + <ContentType contentTypeId="IMAGE_FRAME" description="Frame Image"/>
>>> +
>>> + <ContentAssocType contentAssocTypeId="IMAGE_THUMBNAIL" 
>>> description="Image Thumbnail"/>
>>> +
>>> + <StatusType description="Image Management" hasTable="N" 
>>> parentTypeId="" statusTypeId="IMAGE_MANAGEMENT_ST"/>
>>> + <StatusItem description="Pending" sequenceId="01" 
>>> statusCode="PENDING" statusId="IM_PENDING"
>>> statusTypeId="IMAGE_MANAGEMENT_ST"/>
>>> + <StatusItem description="Approved" sequenceId="02" 
>>> statusCode="APPROVED" statusId="IM_APPROVED"
>>> statusTypeId="IMAGE_MANAGEMENT_ST"/>
>>> + <StatusItem description="Rejected" sequenceId="03" 
>>> statusCode="REJECTED" statusId="IM_REJECTED"
>>> statusTypeId="IMAGE_MANAGEMENT_ST"/>
>>> +
>>> + <ProductFeatureCategory productFeatureCategoryId="IMAGE" 
>>> description="Image"/>
>>> + <ProductFeatureCategory productFeatureCategoryId="TEXT" 
>>> description="Text"/>
>>> +
>>> + <ProductFeature productFeatureId="IMAGE_AVATAR" 
>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>> description="100 X 75 (avatar)" defaultSequenceNum="1"/>
>>> + <ProductFeature productFeatureId="IMAGE_THUMBNAIL" 
>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>> description="150 X 112 (thumbnail)" defaultSequenceNum="2"/>
>>> + <ProductFeature productFeatureId="IMAGE_WEBSITE" 
>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>> description="320 X 240 (for websites and email)" 
>>> defaultSequenceNum="3"/>
>>> + <ProductFeature productFeatureId="IMAGE_BOARD" 
>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE" 
>>> description="640
>>> X 480 (for message boards)" defaultSequenceNum="4"/>
>>> + <ProductFeature productFeatureId="IMAGE_MONITOR15" 
>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>> description="800 X 600 (15-inch monitor)" defaultSequenceNum="5"/>
>>> + <ProductFeature productFeatureId="IMAGE_MONITOR17" 
>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>> description="1024 X 768 (17-inch monitor)" defaultSequenceNum="6"/>
>>> + <ProductFeature productFeatureId="IMAGE_MONITOR19" 
>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>> description="1280 X 1024 (19-inch monitor)" defaultSequenceNum="7"/>
>>> + <ProductFeature productFeatureId="IMAGE_MONITOR21" 
>>> productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>>> description="1600 X 1200 (21-inch monitor)" defaultSequenceNum="8"/>
>>> +
>>> + <ProductFeature productFeatureId="TEXT_SMALL" 
>>> productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
>>> description="Small" defaultSequenceNum="1"/>
>>> + <ProductFeature productFeatureId="TEXT_MIDDLE" 
>>> productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
>>> description="Middle" defaultSequenceNum="2"/>
>>> + <ProductFeature productFeatureId="TEXT_LARGE" 
>>> productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
>>> description="Large" defaultSequenceNum="3"/>
>>> + <ProductFeature productFeatureId="TEXT_VERYLARGE" 
>>> productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
>>> description="Very Large" defaultSequenceNum="4"/>
>>> +
>>> + <ProductFeature productFeatureId="TEXT_WHITE" 
>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>>> description="White" defaultSequenceNum="1"/>
>>> + <ProductFeature productFeatureId="TEXT_GRAY" 
>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT" 
>>> description="Gray"
>>> defaultSequenceNum="2"/>
>>> + <ProductFeature productFeatureId="TEXT_BLACK" 
>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>>> description="Black" defaultSequenceNum="3"/>
>>> + <ProductFeature productFeatureId="TEXT_RED" 
>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT" 
>>> description="Red"
>>> defaultSequenceNum="4"/>
>>> + <ProductFeature productFeatureId="TEXT_GREEN" 
>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>>> description="Green" defaultSequenceNum="5"/>
>>> + <ProductFeature productFeatureId="TEXT_BLUE" 
>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT" 
>>> description="Blue"
>>> defaultSequenceNum="6"/>
>>> + <ProductFeature productFeatureId="TEXT_YELLOW" 
>>> productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>>> description="Yellow" defaultSequenceNum="7"/>
>>> +
>>> </entity-engine-xml>
>>>
>>> Added: 
>>> ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml?rev=1052521&view=auto
>>> ============================================================================== 
>>>
>>> --- 
>>> ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml 
>>> (added)
>>> +++ 
>>> ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml 
>>> Fri Dec 24 15:22:49 2010
>>> @@ -0,0 +1,226 @@
>>> +<?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"
>>> +    version="5.0" xmlns:xl="http://www.w3.org/1999/xlink" 
>>> xmlns:xi="http://www.w3.org/2001/XInclude"
>>> +    xsi:schemaLocation="http://docbook.org/ns/docbook 
>>> ../../../content/dtd/docbook.xsd"
>>> +    xmlns="http://docbook.org/ns/docbook">
>>> + <title>Image Management Help.</title>
>>> + <para>The Image Management module manages many kind of image what 
>>> user want. There are various functions including
>>> 'Gallery', 'Upload', 'Approved', 'Manage' etc.</para>
>>> + <para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Go to Catalog Component.</para>
>>> + <para>Go to Image Management.</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + </para>
>>> +
>>> + <section>
>>> + <title>How To Add Security Group For Image Management User</title>
>>> + <para>There are three security groups related in the Image 
>>> Management including 'IMAGEADMIN', 'IMAGEAPPROVE' and '
>>> IMAGEUPLOAD'.</para>
>>> + <para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Go to 'Party' component.</para>
>>> + <para>Search 'UserLogin' or 'Party Id'.</para>
>>> + <para>Click 'UserLogin' or 'Party Id'.</para>
>>> + <para>At 'User Name(s)', click 'Security Groups' button.</para>
>>> + <para>At 'Add UserLogin to Security Group', select group 
>>> 'IMAGEADMIN Image Management Admin' for use all
>>> operations in the Image Management.</para>
>>> + <para>select 'IMAGEUPLOAD Image Management Upload': To add party's 
>>> permission for uploading, or select
>>> 'IMAGEAPPROVE Image Management Approve': To add party's permission 
>>> for approving.</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + </para>
>>> + </section>
>>> + <section>
>>> + <title>How To Add Role For Approve Image To Party Id</title>
>>> + <para>When user click partyId into party's screen already. Select 
>>> the submenu 'Role(s)' to add the role to party</para>
>>> + <para>There is Add To Role screenlet, select role 'Image 
>>> Approver'(on the combobox role type Id) then click 'add'
>>> button.</para>
>>> + </section>
>>> + <section>
>>> + <title>Gallery</title>
>>> + <section>
>>> + <para>Gallery shows all images which have approved.</para>
>>> + <para>Note: Everybody can access Gallery function.</para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Click 'Gallery' button, then choose a 'Product Id' by type 
>>> or click a find icon.</para>
>>> + <para>Click 'Submit' button, then you will see all images which 
>>> have approved.</para>
>>> + <para>You can click 'Share' button that generates any codes to 
>>> share your images to any people.</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + </section>
>>> + </section>
>>> + <section>
>>> + <title>Upload</title>
>>> + <section>
>>> + <para>In this function, you can upload image files into system. 
>>> You can upload many image files up to 10
>>> files.</para>
>>> + <para>Note: You must have Image Management Upload permission for 
>>> access Upload function.</para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Go to 'Upload' section, Enter 'Product Id' by type or click 
>>> a find icon.</para>
>>> + <para>Optional, you can specify the size of images.</para>
>>> + <para>Then click 'Browse' button to choose image file(s).</para>
>>> + <para>Click 'Upload' button.</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + </section>
>>> + </section>
>>> + <section>
>>> + <title>Recently Approved</title>
>>> + <section>
>>> + <para>In this function, you can see the images which have been 
>>> approved for 14 days recently.</para>
>>> + <para>Note: You must have Image Management Admin permission for 
>>> access this function.</para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Click 'Recently Approved' Button, then you will see the 
>>> lists of recently approved product which are
>>> separated by date.</para>
>>> + <para>Click on product id to see its images with details.</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + </section>
>>> + </section>
>>> + <section>
>>> + <title>Approve</title>
>>> + <section>
>>> + <para>In this function, you can set the status of each image 
>>> including 'Approve', 'Pending' and 'Rejected'.</para>
>>> + <para>Note: You must have Image Management Admin permission for 
>>> access this function.</para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Click 'Approve' Button, then specify the status of each 
>>> image.</para>
>>> + <para>Choose 'Approve' status for approve image.</para>
>>> + <para>Choose 'Reject' status for reject image..</para>
>>> + <para>Choose 'Pending' status for pending image..</para>
>>> + <para>Click 'Submit' button.</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + <para>The images will be approved if all image administrators 
>>> approved them. But if only one person rejects an image
>>> then that image will be rejected.</para>
>>> + </section>
>>> + </section>
>>> + <section>
>>> + <title>Rejected</title>
>>> + <section>
>>> + <para>The Rejected function shows the images which have 
>>> rejected.</para>
>>> + <para>Note: You must have Image Management Admin permission for 
>>> access this function.</para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Click 'Rejected' button, then you specify the reason of 
>>> rejection each image.</para>
>>> + <para>Then click 'Submit' button.</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + </section>
>>> + </section>
>>> + <section>
>>> + <title>Manage</title>
>>> + <section>
>>> + <para>You can edit image such as add frame, embedded watermark, 
>>> crop image etc. You can also add caption, sort
>>> order, exclude image and choose thumbnail in this function.</para>
>>> + <para>Note: You must have Image Management Admin permission for 
>>> access this function.</para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Click 'Manage' Button, then you can choose action including 
>>> 'Frame', 'Watermark', 'Crop' and 'Rotate'
>>> (see below for more details).</para>
>>> + <para>Enter your image caption.</para>
>>> + <para>Sort order of image by enter order number.</para>
>>> + <para>Exclude image by tick excluded checkbox.</para>
>>> + <para>Select image thumbnail of product.</para>
>>> + <para>Click 'Submit' button.</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + <section>
>>> + <title>- Frame</title>
>>> + <section>
>>> + <para>In Frame function, you can merge your image with the frame 
>>> image (transparent image file e.g. PNG
>>> type) together.</para>
>>> + <para>The frame image should be larger than selected image.</para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Choose 'Frame' then choose the image you want to merge 
>>> frame.</para>
>>> + <para>Select the frame image by browsing transparent image file, 
>>> such as PNG type.</para>
>>> + <para>Click 'Upload' button to upload the frame image.</para>
>>> + <para>Enter width and height of image.</para>
>>> + <para>Optional, you click 'Preview' to see example image.</para>
>>> + <para>Click 'Create' button.</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + </section>
>>> + </section>
>>> + <section>
>>> + <title>- Watermark</title>
>>> + <section>
>>> + <para>In Watermark function, you can draw some text on your 
>>> image.</para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Choose 'Watermark' then choose image you want.</para>
>>> + <para>Enter any text, Choose text color, text size and text 
>>> position.</para>
>>> + <para>Optional, you can preview image by click 'Preview' 
>>> button.</para>
>>> + <para>Click 'Watermark' button.</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + </section>
>>> + </section>
>>> + </section>
>>> + <section>
>>> + <title>- Crop</title>
>>> + <section>
>>> + <para>You can crop any images in this function.</para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Choose 'Crop' then choose your image.</para>
>>> + <para>Move your cursor on the image, then drag your mouse to crop 
>>> image.</para>
>>> + <para>You can see the preview image in the right hand side.</para>
>>> + <para>Finally, you click 'Crop' button.</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + </section>
>>> + </section>
>>> + <section>
>>> + <title>- Rotate</title>
>>> + <section>
>>> + <para>You can rotate images in this function.</para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Choose 'Rotate' then click clockwise or counterclockwise 
>>> button for ratating image.</para>
>>> + <para>Click 'Submit' button</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + </section>
>>> + </section>
>>> + </section>
>>> + <section>
>>> + <title>Replace</title>
>>> + <section>
>>> + <para>In this function, you can replace the selected image with 
>>> other image.</para>
>>> + <para>The image which you want to replace must be approved 
>>> first.</para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Click 'Replace' button, Enter 'Product Id' by type or click 
>>> a find icon.</para>
>>> + <para>Then choose the image which you want to replace.</para>
>>> + <para>Choose the other image to replace with the selected 
>>> image.</para>
>>> + <para>Click 'Submit' button.</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + </section>
>>> + </section>
>>> + <!--<section>
>>> + <title>Automatic Resize</title>
>>> + <section>
>>> + <para>You can resize any images in this function.</para>
>>> + <orderedlist>
>>> + <listitem>
>>> + <para>Go to 'Automatic Resize' section, Enter 'Product Id' by type 
>>> or click a find icon.</para>
>>> + <para>Choose Image to resize, then you can select a size.</para>
>>> + <para>Click 'Upload Image'.</para>
>>> + </listitem>
>>> + </orderedlist>
>>> + </section>
>>> + </section>-->
>>> +</section>
>>>
>>> Modified: ofbiz/trunk/applications/product/entitydef/entitymodel.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?rev=1052521&r1=1052520&r2=1052521&view=diff 
>>>
>>> ============================================================================== 
>>>
>>> --- ofbiz/trunk/applications/product/entitydef/entitymodel.xml 
>>> (original)
>>> +++ ofbiz/trunk/applications/product/entitydef/entitymodel.xml Fri 
>>> Dec 24 15:22:49 2010
>>> @@ -4814,4 +4814,15 @@ under the License.
>>> <key-map field-name="productPromoContentTypeId" 
>>> rel-field-name="productContentTypeId"/>
>>> </relation>
>>> </entity>
>>> +
>>> + <!-- Image Management -->
>>> + <extend-entity entity-name="ProductContent">
>>> + <field name="defaultSequenceNum" type="numeric"/>
>>> + <field name="enable" type="indicator"/>
>>> + <field name="thumbnail" type="indicator"/>
>>> + </extend-entity>
>>> +
>>> + <extend-entity entity-name="PartyContent">
>>> + <field name="statusId" type="id"></field>
>>> + </extend-entity>
>>> </entitymodel>
>>>
>>> Added: ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml?rev=1052521&view=auto
>>> ============================================================================== 
>>>
>>> --- ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml 
>>> (added)
>>> +++ ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml 
>>> Fri Dec 24 15:22:49 2010
>>> @@ -0,0 +1,46 @@
>>> +<?xml version="1.0" encoding="UTF-8"?>
>>> +<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> +    
>>> xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
>>> +
>>> + <view-entity entity-name="PartyContentProductContentAndInfo"
>>> +            package-name="org.ofbiz.content.content"
>>> +            title="PartyContent, ProductContent, Content and 
>>> DataResource View Entity">
>>> + <member-entity entity-alias="PAC" entity-name="PartyContent"/>
>>> + <member-entity entity-alias="PRC" entity-name="ProductContent"/>
>>> + <member-entity entity-alias="CO" entity-name="Content"/>
>>> + <member-entity entity-alias="DR" entity-name="DataResource"/>
>>> + <alias-all entity-alias="PAC"/>
>>> + <alias-all entity-alias="PRC">
>>> + <exclude field="contentId"/>
>>> + </alias-all>
>>> + <alias-all entity-alias="CO">
>>> + <exclude field="contentId"/>
>>> + </alias-all>
>>> + <alias-all entity-alias="DR" prefix="dr"/>
>>> + <view-link entity-alias="PAC" rel-entity-alias="PRC">
>>> + <key-map field-name="contentId"/>
>>> + </view-link>
>>> + <view-link entity-alias="PRC" rel-entity-alias="CO">
>>> + <key-map field-name="contentId"/>
>>> + </view-link>
>>> + <view-link entity-alias="CO" rel-entity-alias="DR">
>>> + <key-map field-name="dataResourceId"/>
>>> + </view-link>
>>> + <relation type="one-nofk" rel-entity-name="ElectronicText">
>>> + <key-map field-name="dataResourceId"/>
>>> + </relation>
>>> + <relation type="one-nofk" rel-entity-name="ImageDataResource">
>>> + <key-map field-name="dataResourceId"/>
>>> + </relation>
>>> + <relation type="one-nofk" rel-entity-name="OtherDataResource">
>>> + <key-map field-name="dataResourceId"/>
>>> + </relation>
>>> + <relation type="many" 
>>> rel-entity-name="ContentAssocDataResourceViewFrom">
>>> + <key-map field-name="contentId" rel-field-name="contentIdStart"/>
>>> + </relation>
>>> + <relation type="many" 
>>> rel-entity-name="ContentAssocDataResourceViewTo">
>>> + <key-map field-name="contentId" rel-field-name="contentIdStart"/>
>>> + </relation>
>>> + </view-entity>
>>> +
>>> +</entitymodel>
>>>
>>> Added: ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar?rev=1052521&view=auto
>>> ============================================================================== 
>>>
>>> Binary file - no diff available.
>>>
>>> Propchange: ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar
>>> ------------------------------------------------------------------------------ 
>>>
>>>    svn:mime-type = application/octet-stream
>>>
>>> Added: ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar
>>> URL: 
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar?rev=1052521&view=auto
>>> ============================================================================== 
>>>
>>> Binary file - no diff available.
>>>
>>> Propchange: ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar
>>> ------------------------------------------------------------------------------ 
>>>
>>>    svn:mime-type = application/octet-stream
>>>
>>> Modified: ofbiz/trunk/applications/product/ofbiz-component.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/ofbiz-component.xml?rev=1052521&r1=1052520&r2=1052521&view=diff 
>>>
>>> ============================================================================== 
>>> ---
>>> ofbiz/trunk/applications/product/ofbiz-component.xml (original) +++ 
>>> ofbiz/trunk/applications/product/ofbiz-component.xml Fri Dec
>>> 24 15:22:49 2010 @@ -24,8 +24,10 @@ under the License.
>>> <resource-loader name="main" type="component"/>
>>> <classpath type="dir" location="config"/>
>>> <classpath type="jar" location="build/lib/*"/>
>>> + <classpath type="jar" location="lib/*"/>
>>>
>>> <entity-resource type="model" reader-name="main" loader="main" 
>>> location="entitydef/entitymodel.xml"/>
>>> + <entity-resource type="model" reader-name="main" loader="main" 
>>> location="entitydef/entitymodel_view.xml"/>
>>> <entity-resource type="model" reader-name="main" loader="main" 
>>> location="entitydef/entitymodel_old.xml"/>
>>> <entity-resource type="model" reader-name="main" loader="main" 
>>> location="entitydef/entitymodel_shipment.xml"/>
>>> <entity-resource type="model" reader-name="main" loader="main" 
>>> location="entitydef/entitymodel_olap.xml"/>
>>>
>>> Added: 
>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml?rev=1052521&view=auto 
>>>
>>> ============================================================================== 
>>>
>>> --- 
>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml 
>>> (added)
>>> +++ 
>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml 
>>> Fri Dec 24 15:22:49 2010
>>> @@ -0,0 +1,59 @@
>>> +<?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.
>>> +-->
>>> +
>>> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> +        
>>> xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
>>> +
>>> + <simple-method method-name="setImageThumbnail" 
>>> short-description="Set Image Thumbnail">
>>> + <!-- change status lastest thumbnail to 'N' -->
>>> + <entity-and list="lastestThumbnails" entity-name="ProductContent">
>>> + <field-map field-name="productId" from-field="parameters.productId"/>
>>> + <field-map field-name="productContentTypeId" value="IMAGE"/>
>>> + <field-map field-name="thumbnail" value="Y"/>
>>> + </entity-and>
>>> + <first-from-list entry="lastestThumbnail" list="lastestThumbnails"/>
>>> + <if-not-empty field="lastestThumbnail">
>>> + <set field="lastestThumbnail.thumbnail" value="N"/>
>>> + <store-value value-field="lastestThumbnail"/>
>>> + </if-not-empty>
>>> +
>>> + <!-- set status thumbnail to 'Y' -->
>>> + <entity-and list="productContents" entity-name="ProductContent">
>>> + <field-map field-name="productId" from-field="parameters.productId"/>
>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>> + <field-map field-name="productContentTypeId" value="IMAGE"/>
>>> + </entity-and>
>>> + <first-from-list entry="productContent" list="productContents"/>
>>> + <set field="productContent.thumbnail" value="Y"/>
>>> + <store-value value-field="productContent"/>
>>> +
>>> + <!-- set thumbnail to product -->
>>> + <entity-and list="productContentAndInfos" 
>>> entity-name="ProductContentAndInfo">
>>> + <field-map field-name="productId" from-field="parameters.productId"/>
>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>> + <field-map field-name="productContentTypeId" value="IMAGE"/>
>>> + </entity-and>
>>> + <if-not-empty field="productContentAndInfos">
>>> + <set field="setThumbnailMap.productId" 
>>> from-field="parameters.productId"/>
>>> + <set field="setThumbnailMap.contentIdTo" 
>>> from-field="parameters.contentIdTo"/>
>>> + <call-service service-name="setThumbnail" 
>>> in-map-name="setThumbnailMap"/>
>>> + </if-not-empty>
>>> + </simple-method>
>>> +</simple-methods>
>>>
>>> Added: 
>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml?rev=1052521&view=auto 
>>>
>>> ============================================================================== 
>>>
>>> --- 
>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml 
>>> (added)
>>> +++ 
>>> ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml 
>>> Fri Dec 24 15:22:49
>>> 2010 @@ -0,0 +1,370 @@
>>> +<?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.
>>> +-->
>>> +
>>> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> +        
>>> xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
>>> +
>>> + <simple-method method-name="UploadProductImages" 
>>> short-description="Method to upload multiple images for product">
>>> + <set-service-fields service-name="addMultipleuploadForProduct" 
>>> map="parameters"
>>> to-map="addAdditionalViewForProductMap"/> + <if-not-empty 
>>> field="parameters.additionalImageOne">
>>> + <set field="addAdditionalViewForProductMap.productId" 
>>> from-field="parameters.productId"/>
>>> + <set field="addAdditionalViewForProductMap.imageResize" 
>>> from-field="parameters.imageResize"/>
>>> + <set field="addAdditionalViewForProductMap.uploadedFile" 
>>> from-field="parameters.additionalImageOne"/>
>>> + <set field="addAdditionalViewForProductMap.productContentTypeId" 
>>> value="IMAGE"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>> from-field="parameters._additionalImageOne_fileName"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>> from-field="parameters._additionalImageOne_contentType"/>
>>> + <call-service service-name="addMultipleuploadForProduct" 
>>> in-map-name="addAdditionalViewForProductMap"/>
>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>> + </if-not-empty>
>>> + <if-not-empty field="parameters.additionalImageTwo">
>>> + <set field="addAdditionalViewForProductMap.productId" 
>>> from-field="parameters.productId"/>
>>> + <set field="addAdditionalViewForProductMap.imageResize" 
>>> from-field="parameters.imageResize"/>
>>> + <set field="addAdditionalViewForProductMap.uploadedFile" 
>>> from-field="parameters.additionalImageTwo"/>
>>> + <set field="addAdditionalViewForProductMap.productContentTypeId" 
>>> value="IMAGE"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>> from-field="parameters._additionalImageTwo_fileName"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>> from-field="parameters._additionalImageTwo_contentType"/>
>>> + <call-service service-name="addMultipleuploadForProduct" 
>>> in-map-name="addAdditionalViewForProductMap"/>
>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>> + </if-not-empty>
>>> + <if-not-empty field="parameters.additionalImageThree">
>>> + <set field="addAdditionalViewForProductMap.productId" 
>>> from-field="parameters.productId"/>
>>> + <set field="addAdditionalViewForProductMap.imageResize" 
>>> from-field="parameters.imageResize"/>
>>> + <set field="addAdditionalViewForProductMap.uploadedFile" 
>>> from-field="parameters.additionalImageThree"/>
>>> + <set field="addAdditionalViewForProductMap.productContentTypeId" 
>>> value="IMAGE"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>> from-field="parameters._additionalImageThree_fileName"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>> from-field="parameters._additionalImageThree_contentType"/>
>>> + <call-service service-name="addMultipleuploadForProduct" 
>>> in-map-name="addAdditionalViewForProductMap"/>
>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>> + </if-not-empty>
>>> + <if-not-empty field="parameters.additionalImageFour">
>>> + <set field="addAdditionalViewForProductMap.productId" 
>>> from-field="parameters.productId"/>
>>> + <set field="addAdditionalViewForProductMap.imageResize" 
>>> from-field="parameters.imageResize"/>
>>> + <set field="addAdditionalViewForProductMap.uploadedFile" 
>>> from-field="parameters.additionalImageFour"/>
>>> + <set field="addAdditionalViewForProductMap.productContentTypeId" 
>>> value="IMAGE"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>> from-field="parameters._additionalImageFour_fileName"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>> from-field="parameters._additionalImageFour_contentType"/>
>>> + <call-service service-name="addMultipleuploadForProduct" 
>>> in-map-name="addAdditionalViewForProductMap"/>
>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>> + </if-not-empty>
>>> + <if-not-empty field="parameters.additionalImageFive">
>>> + <set field="addAdditionalViewForProductMap.productId" 
>>> from-field="parameters.productId"/>
>>> + <set field="addAdditionalViewForProductMap.imageResize" 
>>> from-field="parameters.imageResize"/>
>>> + <set field="addAdditionalViewForProductMap.uploadedFile" 
>>> from-field="parameters.additionalImageFive"/>
>>> + <set field="addAdditionalViewForProductMap.productContentTypeId" 
>>> value="IMAGE"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>> from-field="parameters._additionalImageFive_fileName"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>> from-field="parameters._additionalImageFive_contentType"/>
>>> + <call-service service-name="addMultipleuploadForProduct" 
>>> in-map-name="addAdditionalViewForProductMap"/>
>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>> + </if-not-empty>
>>> + <if-not-empty field="parameters.additionalImageSix">
>>> + <set field="addAdditionalViewForProductMap.productId" 
>>> from-field="parameters.productId"/>
>>> + <set field="addAdditionalViewForProductMap.imageResize" 
>>> from-field="parameters.imageResize"/>
>>> + <set field="addAdditionalViewForProductMap.uploadedFile" 
>>> from-field="parameters.additionalImageSix"/>
>>> + <set field="addAdditionalViewForProductMap.productContentTypeId" 
>>> value="IMAGE"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>> from-field="parameters._additionalImageSix_fileName"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>> from-field="parameters._additionalImageSix_contentType"/>
>>> + <call-service service-name="addMultipleuploadForProduct" 
>>> in-map-name="addAdditionalViewForProductMap"/>
>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>> + </if-not-empty>
>>> + <if-not-empty field="parameters.additionalImageSeven">
>>> + <set field="addAdditionalViewForProductMap.productId" 
>>> from-field="parameters.productId"/>
>>> + <set field="addAdditionalViewForProductMap.imageResize" 
>>> from-field="parameters.imageResize"/>
>>> + <set field="addAdditionalViewForProductMap.uploadedFile" 
>>> from-field="parameters.additionalImageSeven"/>
>>> + <set field="addAdditionalViewForProductMap.productContentTypeId" 
>>> value="IMAGE"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>> from-field="parameters._additionalImageSeven_fileName"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>> from-field="parameters._additionalImageSeven_contentType"/>
>>> + <call-service service-name="addMultipleuploadForProduct" 
>>> in-map-name="addAdditionalViewForProductMap"/>
>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>> + </if-not-empty>
>>> + <if-not-empty field="parameters.additionalImageEight">
>>> + <set field="addAdditionalViewForProductMap.productId" 
>>> from-field="parameters.productId"/>
>>> + <set field="addAdditionalViewForProductMap.imageResize" 
>>> from-field="parameters.imageResize"/>
>>> + <set field="addAdditionalViewForProductMap.uploadedFile" 
>>> from-field="parameters.additionalImageEight"/>
>>> + <set field="addAdditionalViewForProductMap.productContentTypeId" 
>>> value="IMAGE"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>> from-field="parameters._additionalImageEight_fileName"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>> from-field="parameters._additionalImageEight_contentType"/>
>>> + <call-service service-name="addMultipleuploadForProduct" 
>>> in-map-name="addAdditionalViewForProductMap"/>
>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>> + </if-not-empty>
>>> + <if-not-empty field="parameters.additionalImageNine">
>>> + <set field="addAdditionalViewForProductMap.productId" 
>>> from-field="parameters.productId"/>
>>> + <set field="addAdditionalViewForProductMap.imageResize" 
>>> from-field="parameters.imageResize"/>
>>> + <set field="addAdditionalViewForProductMap.uploadedFile" 
>>> from-field="parameters.additionalImageNine"/>
>>> + <set field="addAdditionalViewForProductMap.productContentTypeId" 
>>> value="IMAGE"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>> from-field="parameters._additionalImageNine_fileName"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>> from-field="parameters._additionalImageNine_contentType"/>
>>> + <call-service service-name="addMultipleuploadForProduct" 
>>> in-map-name="addAdditionalViewForProductMap"/>
>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>> + </if-not-empty>
>>> + <if-not-empty field="parameters.additionalImageTen">
>>> + <set field="addAdditionalViewForProductMap.productId" 
>>> from-field="parameters.productId"/>
>>> + <set field="addAdditionalViewForProductMap.imageResize" 
>>> from-field="parameters.imageResize"/>
>>> + <set field="addAdditionalViewForProductMap.uploadedFile" 
>>> from-field="parameters.additionalImageTen"/>
>>> + <set field="addAdditionalViewForProductMap.productContentTypeId" 
>>> value="IMAGE"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>>> from-field="parameters._additionalImageTen_fileName"/>
>>> + <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>>> from-field="parameters._additionalImageTen_contentType"/>
>>> + <call-service service-name="addMultipleuploadForProduct" 
>>> in-map-name="addAdditionalViewForProductMap"/>
>>> + <clear-field field="addAdditionalViewForProductMap"/>
>>> + </if-not-empty>
>>> + <field-to-result field="parameters.productId" 
>>> result-name="productId"/>
>>> + </simple-method>
>>> +
>>> + <simple-method method-name="removeProductContentAndImageFile" 
>>> short-description="Remove Content From Product and Image
>>> File"> + <entity-and list="contentAssocs" entity-name="ContentAssoc">
>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>> + <field-map field-name="contentAssocTypeId" value="IMAGE_THUMBNAIL"/>
>>> + </entity-and>
>>> + <if-not-empty field="contentAssocs">
>>> + <first-from-list entry="contentAssoc" list="contentAssocs"/>
>>> + <remove-value value-field="contentAssoc"/>
>>> +
>>> + <set field="removeContent.contentId" 
>>> from-field="contentAssoc.contentIdTo"/>
>>> + <set field="removeContent.productId" 
>>> from-field="parameters.productId"/>
>>> + <call-service 
>>> service-name="removeProductContentForImageManagement" 
>>> in-map-name="removeContent"/>
>>> + </if-not-empty>
>>> +
>>> + <make-value value-field="lookupPKMap" entity-name="ProductContent"/>
>>> + <set-pk-fields map="parameters" value-field="lookupPKMap"/>
>>> + <find-by-primary-key map="lookupPKMap" value-field="lookedUpValue"/>
>>> + <remove-value value-field="lookedUpValue"/>
>>> + <set field="removeContent.contentId" 
>>> from-field="parameters.contentId"/>
>>> + <set field="removeContent.productId" 
>>> from-field="parameters.productId"/>
>>> + <call-service 
>>> service-name="removeProductContentForImageManagement" 
>>> in-map-name="removeContent"/>
>>> + </simple-method>
>>> +
>>> + <simple-method 
>>> method-name="removeProductContentForImageManagement" 
>>> short-description="Remove Content From Product">
>>> + <entity-and list="contentRoles" entity-name="ContentRole" >
>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>> + </entity-and>
>>> + <remove-value value-field="contentRoles[0]"/>
>>> +
>>> + <entity-condition entity-name="PartyContent" list="partyContents">
>>> + <condition-list combine="and">
>>> + <condition-expr field-name="contentId" 
>>> from-field="parameters.contentId"/>
>>> + <condition-expr field-name="partyContentTypeId" 
>>> value="IMAGEAPPROVER"/>
>>> + </condition-list>
>>> + </entity-condition>
>>> + <iterate entry="partyContent" list="partyContents">
>>> + <remove-value value-field="partyContent"/>
>>> + </iterate>
>>> +
>>> + <entity-one value-field="content" entity-name="Content">
>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>> + </entity-one>
>>> +
>>> + <set field="removeContentPKMap.contentId" 
>>> from-field="parameters.contentId"/>
>>> + <set-service-fields service-name="removeContent" 
>>> map="removeContentPKMap" to-map="removeContentMap"/>
>>> + <call-service service-name="removeContent" 
>>> in-map-name="removeContentMap"/>
>>> +
>>> + <set field="dataResourceId" from-field="content.dataResourceId"/>
>>> + <entity-and list="dataResourceRoles" entity-name="DataResourceRole" >
>>> + <field-map field-name="dataResourceId" from-field="dataResourceId"/>
>>> + </entity-and>
>>> + <remove-value value-field="dataResourceRoles[0]"/>
>>> +
>>> + <entity-one value-field="dataResource" entity-name="DataResource">
>>> + <field-map field-name="dataResourceId" from-field="dataResourceId"/>
>>> + </entity-one>
>>> +
>>> + <set field="removeImageFile.productId" 
>>> from-field="parameters.productId"/>
>>> + <set field="removeImageFile.contentId" 
>>> from-field="parameters.contentId"/>
>>> + <set field="removeImageFile.dataResourceName" 
>>> from-field="dataResource.dataResourceName"/>
>>> + <set-service-fields 
>>> service-name="removeImageFileForImageManagement" 
>>> map="removeImageFile" to-map="removeImageFileMap"/>
>>> + <call-service service-name="removeImageFileForImageManagement" 
>>> in-map-name="removeImageFileMap"/>
>>> +
>>> + <set field="removeDataResourcePKMap.dataResourceId" 
>>> from-field="dataResourceId"/>
>>> + <set-service-fields service-name="removeDataResource" 
>>> map="removeDataResourcePKMap" to-map="removeDataResourceMap"/>
>>> + <call-service service-name="removeDataResource" 
>>> in-map-name="removeDataResourceMap"/>
>>> + </simple-method>
>>> +
>>> + <simple-method method-name="setImageDetail" short-description="Set 
>>> Image Detail">
>>> + <!-- set sort order (defaultSequenceNum) and exclude (enable) -->
>>> + <entity-one value-field="productContent" 
>>> entity-name="ProductContent"/>
>>> + <set field="productContent.defaultSequenceNum" 
>>> from-field="parameters.defaultSequenceNum" type="Long"/>
>>> + <store-value value-field="productContent"/>
>>> + <if-not-empty field="parameters.defaultSequenceNum">
>>> + <script 
>>> location="component://image_management/webapp/image_management/WEB-INF/actions/sortSequenceNum.groovy"/>
>>> + <set field="productContent.defaultSequenceNum" 
>>> from-field="parameters.defaultSequenceNum" type="Long"/>
>>> + <store-value value-field="productContent"/>
>>> + </if-not-empty>
>>> + <if-compare operator="equals" value="false" 
>>> field="parameters.enable"> <!-- if ticked checked box = false -->
>>> + <set field="parameters.enable" value="true"/>
>>> + <else>
>>> + <set field="parameters.enable" value="false"/>
>>> + </else>
>>> + </if-compare>
>>> + <set field="productContent.enable" from-field="parameters.enable" 
>>> type="Boolean"/>
>>> + <store-value value-field="productContent"/>
>>> +
>>> + <!-- set caption -->
>>> + <entity-one value-field="content" entity-name="Content"/>
>>> + <set field="content.description" 
>>> from-field="parameters.description"/>
>>> + <store-value value-field="content"/>
>>> + </simple-method>
>>> +
>>> + <simple-method method-name="updateStatusImageManagement" 
>>> short-description="Update Status Image Management">
>>> + <now-timestamp field="nowTimestamp"/>
>>> + <set field="parameters.checkStatusId" value="${groovy: import 
>>> org.ofbiz.base.util.StringUtil;
>>> +        checkStatusVal = parameters.checkStatusId;
>>> +        statusId = StringUtil.split(checkStatusVal, &quot;/&quot;);
>>> +        if (statusId) return statusId[0];
>>> +        }"/>
>>> + <entity-and entity-name="PartyContent" list="partyContents">
>>> + <field-map field-name="partyId" from-field="userLogin.partyId"/>
>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>> + <field-map field-name="partyContentTypeId" value="IMAGEAPPROVER"/>
>>> + </entity-and>
>>> + <first-from-list entry="partyContent" list="partyContents"/>
>>> + <if-not-empty field="parameters.checkStatusId">
>>> + <set field="partyContent.statusId" 
>>> from-field="parameters.checkStatusId"/>
>>> + </if-not-empty>
>>> + <store-value value-field="partyContent"/>
>>> +
>>> + <if-compare field="parameters.checkStatusId" operator="equals" 
>>> value="IM_REJECTED">
>>> + <entity-condition entity-name="PartyContent" list="checkRejects">
>>> + <condition-list combine="and">
>>> + <condition-expr field-name="contentId" operator="equals" 
>>> from-field="parameters.contentId"/>
>>> + <condition-expr field-name="partyContentTypeId" operator="equals" 
>>> value="IMAGEAPPROVER"/>
>>> + </condition-list>
>>> + </entity-condition>
>>> + <iterate entry="checkReject" list="checkRejects">
>>> + <set field="checkReject.statusId" value="IM_REJECTED"/>
>>> + <store-value value-field="checkReject"/>
>>> + </iterate>
>>> + <entity-one entity-name="Content" value-field="content"/>
>>> + <set field="content.statusId" value="IM_REJECTED"/>
>>> + <set field="content.createdByUserLogin" 
>>> from-field="userLogin.userLoginId"/>
>>> + <store-value value-field="content"/>
>>> + <else>
>>> + <if-compare field="parameters.checkStatusId" operator="equals" 
>>> value="IM_APPROVED">
>>> + <entity-count entity-name="PartyContent" count-field="countParty">
>>> + <condition-list combine="and">
>>> + <condition-expr field-name="contentId" operator="equals" 
>>> from-field="parameters.contentId"/>
>>> + <condition-expr field-name="partyContentTypeId" operator="equals" 
>>> value="IMAGEAPPROVER"/>
>>> + </condition-list>
>>> + </entity-count>
>>> + <if-compare field="countParty" operator="equals" value="1">
>>> + <entity-one entity-name="Content" value-field="content"/>
>>> + <set field="content.statusId" value="IM_APPROVED"/>
>>> + <store-value value-field="content"/>
>>> +
>>> + <entity-and entity-name="ProductContent" list="productContents">
>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>> + <field-map field-name="productContentTypeId" value="IMAGE"/>
>>> + </entity-and>
>>> + <first-from-list entry="productContent" list="productContents"/>
>>> + <set field="productContent.purchaseFromDate" 
>>> from-field="nowTimestamp"/>
>>> + <set field="productContent.enable" value="N"/>
>>> + <set field="productContent.thumbnail" value="N"/>
>>> + <store-value value-field="productContent"/>
>>> + <else>
>>> + <entity-count entity-name="PartyContent" count-field="countApprove">
>>> + <condition-list combine="and">
>>> + <condition-expr field-name="contentId" operator="equals" 
>>> from-field="parameters.contentId"/>
>>> + <condition-expr field-name="partyContentTypeId" operator="equals" 
>>> value="IMAGEAPPROVER"/>
>>> + <condition-expr field-name="statusId" operator="equals" 
>>> value="IM_APPROVED"/>
>>> + </condition-list>
>>> + </entity-count>
>>> + <if-compare field="countApprove" operator="greater-equals" value="2">
>>> + <entity-one entity-name="Content" value-field="content"/>
>>> + <set field="content.statusId" value="IM_APPROVED"/>
>>> + <store-value value-field="content"/>
>>> +
>>> + <entity-and entity-name="ProductContent" list="productContents">
>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>> + <field-map field-name="productContentTypeId" value="IMAGE"/>
>>> + </entity-and>
>>> + <first-from-list entry="productContent" list="productContents"/>
>>> + <set field="productContent.purchaseFromDate" 
>>> from-field="nowTimestamp"/>
>>> + <set field="productContent.enable" value="N"/>
>>> + <set field="productContent.thumbnail" value="N"/>
>>> + <store-value value-field="productContent"/>
>>> +
>>> + <entity-condition entity-name="PartyContent" list="checkApproveList">
>>> + <condition-list combine="and">
>>> + <condition-expr field-name="contentId" operator="equals"
>>> from-field="parameters.contentId"/>
>>> + <condition-expr field-name="partyContentTypeId" operator="equals"
>>> value="IMAGEAPPROVER"/> + </condition-list>
>>> + </entity-condition>
>>> + <iterate entry="checkApprove" list="checkApproveList">
>>> + <set field="checkApprove.statusId" value="IM_APPROVED"/>
>>> + <store-value value-field="checkApprove"/>
>>> + </iterate>
>>> + </if-compare>
>>> + </else>
>>> + </if-compare>
>>> + </if-compare>
>>> + </else>
>>> + </if-compare>
>>> + </simple-method>
>>> +
>>> + <simple-method method-name="addRejectedReasonImageManagement" 
>>> short-description="Add Rejected Reason Image Management">
>>> + <now-timestamp field="nowTimestam"/>
>>> + <entity-one entity-name="Content" value-field="content"/>
>>> + <if-not-empty field="parameters.description">
>>> + <if-compare field="parameters.description" value="RETAKE_PHOTO" 
>>> operator="equals">
>>> + <set field="content.description" value="Re-take Photo"/>
>>> + </if-compare>
>>> + <if-compare field="parameters.description" value="REMOVE_LOGO" 
>>> operator="equals">
>>> + <set field="content.description" value="Remove Logo"/>
>>> + </if-compare>
>>> + <if-compare field="parameters.description" value="OTHER" 
>>> operator="equals">
>>> + <set field="content.description" value="Other"/>
>>> + </if-compare>
>>> + <else>
>>> + <set field="content.description" value="Other"/>
>>> + </else>
>>> + </if-not-empty>
>>> + <store-value value-field="content"/>
>>> +
>>> + <entity-and entity-name="ProductContent" list="productContents">
>>> + <field-map field-name="contentId" from-field="parameters.contentId"/>
>>> + <field-map field-name="productContentTypeId" value="IMAGE"/>
>>> + </entity-and>
>>> + <first-from-list entry="productContent" list="productContents"/>
>>> + <set field="productContent.thruDate" from-field="nowTimestam"/>
>>> + <store-value value-field="productContent"/>
>>> + </simple-method>
>>> +
>>> + <simple-method method-name="createImagePartyContent" 
>>> short-description="Create Party Content of Image">
>>> + <now-timestamp field="nowTimestam"/>
>>> + <entity-and entity-name="PartyRole" list="partyRoles">
>>> + <field-map field-name="roleTypeId" value="IMAGEAPPROVER"/>
>>> + </entity-and>
>>> + <iterate list="partyRoles" entry="partyRole">
>>> + <set field="partyContent.partyId" from-field="partyRole.partyId"/>
>>> + <set field="partyContent.contentId" 
>>> from-field="parameters.contentId"/>
>>> + <set field="partyContent.partyContentTypeId" value="IMAGEAPPROVER"/>
>>> + <set field="partyContent.fromDate" from-field="nowTimestam"/>
>>> + <set field="partyContent.statusId" value="IM_PENDING"/>
>>> + <call-service service-name="createPartyContent" 
>>> in-map-name="partyContent"/>
>>> + </iterate>
>>> + </simple-method>
>>> +
>>> + <simple-method method-name="removeImagePartyContent" 
>>> short-description="Remove Party Content of Image">
>>> + <entity-and entity-name="PartyContent" list="partyContents">
>>> + <field-map field-name="partyId" from-field="parameters.partyId"/>
>>> + <field-map field-name="partyContentTypeId" value="IMAGEAPPROVER"/>
>>> + </entity-and>
>>> + <iterate list="partyContents" entry="partyContent">
>>> + <remove-value value-field="partyContent"/>
>>> + </iterate>
>>> + </simple-method>
>>> +</simple-methods>
>>>
>>> Modified: ofbiz/trunk/applications/product/servicedef/secas.xml
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/secas.xml?rev=1052521&r1=1052520&r2=1052521&view=diff 
>>>
>>> ============================================================================== 
>>>
>>> --- ofbiz/trunk/applications/product/servicedef/secas.xml (original)
>>> +++ ofbiz/trunk/applications/product/servicedef/secas.xml Fri Dec 24 
>>> 15:22:49 2010
>>> @@ -128,5 +128,11 @@ under the License.
>>> <eca service="receiveInventoryProduct" event="commit">
>>> <action service="updateProductAverageCostOnReceiveInventory" 
>>> mode="sync"/>
>>> </eca>
>>> +
>>> + <!-- Remove party content of image  -->
>>> + <eca service="deletePartyRole" event="commit">
>>> + <condition field-name="roleTypeId" operator="equals" 
>>> value="IMAGEAPPROVER"/>
>>> + <action service="removeImagePartyContent" mode="sync"/>
>>> + </eca>
>>>
>>> </service-eca>


Re: svn commit: r1052521 [1/8] - in /ofbiz/trunk: ./ applications/order/ applications/product/ applications/product/config/ applications/product/data/ applications/product/data/helpdata/ applications/product/entitydef/ applications/product/lib/ application

Posted by Jacques Le Roux <ja...@les7arts.com>.
Hans,

Could you please clean that when you will get a chance?

Another point to note. It's a best practise to use version in js files names. This allows the browser cache to keep a local copy 
until a new version is used on server side.

Jacques

Jacques Le Roux wrote:
> Hi Hans,
>
> Sorry this is already a year+ now, but I stumbled upon
> trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.min.js
> and I think something is not right there. I mean in trunk/applications/product/webapp/catalog/imagemanagement/js by and large, not
> only for jquery.min.js.
>
> So could you please put them rather under images/jquery (sharing with jquery-1.7.min.js, using plugin dir for others) in order to
> keep things clean and updated?
>
> I don't think it needs to be backported though...
>
> Thanks
>
> Jacques
>
> From: <ha...@apache.org>
>> Author: hansbak
>> Date: Fri Dec 24 15:22:49 2010
>> New Revision: 1052521
>>
>> URL: http://svn.apache.org/viewvc?rev=1052521&view=rev
>> Log:
>> the first version of a product image management system when you want to upload and approve prand manupulate product images, see
>> catalog -> image management
>>
>> Added:
>>    ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml
>>    ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml
>>    ofbiz/trunk/applications/product/lib/
>>    ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar   (with props)
>>    ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar   (with props)
>>    ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/
>>    ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml
>>    ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml
>>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/
>>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/CropImage.java
>>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/FrameImage.java
>>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageManagementServices.java
>>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageUrlServlet.java
>>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ReplaceImage.java
>>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/RotateImage.java
>>    ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/WatermarkImage.java
>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/
>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/ImageFrame.groovy
>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/ImageRecentlyApproved.groovy
>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/ImageUpload.groovy
>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/automaticResize.groovy
>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/checkAction.groovy
>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/checkRejected.groovy
>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/seoLocales.groovy
>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/imagemanagement/sortSequenceNum.groovy
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/AddMultipleImages.ftl
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/AutomaticResize.ftl
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageCrop.ftl
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageFrame.ftl
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageGallery.ftl
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageRecentlyApproved.ftl
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageRotateButton.ftl
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageRotating.ftl
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageShare.ftl
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ImageWatermark.ftl
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/ResizeImage.ftl
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Jcrop.css
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Jcrop.js
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Jcrop.min.js
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.Rotate.js
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.form.js
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.function.js
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/js/jquery.min.js
>>    ofbiz/trunk/applications/product/webapp/catalog/imagemanagement/showPeopleApprove.ftl
>>    ofbiz/trunk/applications/product/widget/catalog/ImageManagementForms.xml
>>    ofbiz/trunk/applications/product/widget/catalog/ImageManagementScreens.xml
>> Modified:
>>    ofbiz/trunk/.classpath
>>    ofbiz/trunk/applications/order/ofbiz-component.xml
>>    ofbiz/trunk/applications/product/build.xml
>>    ofbiz/trunk/applications/product/config/ImageProperties.xml
>>    ofbiz/trunk/applications/product/config/ProductUiLabels.xml
>>    ofbiz/trunk/applications/product/data/ProductDemoData.xml
>>    ofbiz/trunk/applications/product/data/ProductHelpData.xml
>>    ofbiz/trunk/applications/product/data/ProductSecurityData.xml
>>    ofbiz/trunk/applications/product/data/ProductTypeData.xml
>>    ofbiz/trunk/applications/product/entitydef/entitymodel.xml
>>    ofbiz/trunk/applications/product/ofbiz-component.xml
>>    ofbiz/trunk/applications/product/servicedef/secas.xml
>>    ofbiz/trunk/applications/product/servicedef/services.xml
>>    ofbiz/trunk/applications/product/src/org/ofbiz/product/image/ScaleImage.java
>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
>>    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/web.xml
>>    ofbiz/trunk/applications/product/widget/catalog/CatalogMenus.xml
>>    ofbiz/trunk/applications/product/widget/catalog/CommonScreens.xml
>>    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilMisc.java
>>
>> Modified: ofbiz/trunk/.classpath
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/.classpath?rev=1052521&r1=1052520&r2=1052521&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/.classpath (original)
>> +++ ofbiz/trunk/.classpath Fri Dec 24 15:22:49 2010
>> @@ -4,6 +4,8 @@
>>     <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
>>     <classpathentry kind="lib" path="applications/content/lib/lucene-core-3.0.3.jar"/>
>>     <classpathentry kind="lib" path="applications/content/lib/poi-3.2-FINAL-20081019.jar"/>
>> +    <classpathentry kind="lib" path="framework/base/lib/watermarker-0.0.4.jar"/>
>> +    <classpathentry kind="lib" path="framework/base/lib/dozer-4.2.1.jar"/>
>>     <classpathentry kind="lib" path="framework/base/lib/ant-1.7.1.jar"/>
>>     <classpathentry kind="lib" path="framework/base/lib/ant-junit-1.7.1.jar"/>
>>     <classpathentry kind="lib" path="framework/base/lib/ant-launcher-1.7.1.jar"/>
>>
>> Modified: ofbiz/trunk/applications/order/ofbiz-component.xml
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/ofbiz-component.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/order/ofbiz-component.xml (original)
>> +++ ofbiz/trunk/applications/order/ofbiz-component.xml Fri Dec 24 15:22:49 2010
>> @@ -38,7 +38,6 @@ under the License.
>>     <entity-resource type="data" reader-name="seed" loader="main" location="data/OrderHelpData.xml"/>
>>     <entity-resource type="data" reader-name="demo" loader="main" location="data/OrderDemoUser.xml"/>
>>     <entity-resource type="data" reader-name="demo" loader="main" location="data/OrderDemoData.xml"/>
>> -    <entity-resource type="data" reader-name="demo" loader="main" location="data/SalesOrderDemoData.xml"/>
>>
>>     <service-resource type="model" loader="main" location="servicedef/services.xml"/>
>>     <service-resource type="model" loader="main" location="servicedef/services_cart.xml"/>
>>
>> Modified: ofbiz/trunk/applications/product/build.xml
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/build.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/build.xml (original)
>> +++ ofbiz/trunk/applications/product/build.xml Fri Dec 24 15:22:49 2010
>> @@ -47,6 +47,7 @@ under the License.
>>         <fileset dir="../content/lib" includes="*.jar"/>
>>         <fileset dir="../content/build/lib" includes="*.jar"/>
>>         <fileset dir="../party/build/lib" includes="*.jar"/>
>> +        <fileset dir="lib" includes="*.jar"/>
>>     </path>
>>
>>     <target name="init">
>>
>> Modified: ofbiz/trunk/applications/product/config/ImageProperties.xml
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ImageProperties.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/config/ImageProperties.xml (original)
>> +++ ofbiz/trunk/applications/product/config/ImageProperties.xml Fri Dec 24 15:22:49 2010
>> @@ -35,4 +35,36 @@ under the License.
>>         <dimension name="height" value="600"/>
>>         <dimension name="width" value="600"/>
>>     </size>
>> +    <size name="100x75">
>> +        <dimension name="height" value="75"/>
>> +        <dimension name="width" value="100"/>
>> +    </size>
>> +    <size name="150x112">
>> +        <dimension name="height" value="112"/>
>> +        <dimension name="width" value="150"/>
>> +    </size>
>> +   <size name="320x240">
>> +        <dimension name="height" value="240"/>
>> +        <dimension name="width" value="320"/>
>> +    </size>
>> +     <size name="640x480">
>> +        <dimension name="height" value="480"/>
>> +        <dimension name="width" value="640"/>
>> +    </size>
>> +    <size name="800x600">
>> +        <dimension name="height" value="600"/>
>> +        <dimension name="width" value="800"/>
>> +    </size>
>> +    <size name="1024x768">
>> +        <dimension name="height" value="768"/>
>> +        <dimension name="width" value="1024"/>
>> +    </size>
>> +    <size name="1280x1024">
>> +        <dimension name="height" value="1024"/>
>> +        <dimension name="width" value="1280"/>
>> +    </size>
>> +     <size name="1600x1200">
>> +        <dimension name="height" value="1200"/>
>> +        <dimension name="width" value="1600"/>
>> +    </size>
>> </imageSize>
>>
>> Modified: ofbiz/trunk/applications/product/config/ProductUiLabels.xml
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ProductUiLabels.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/config/ProductUiLabels.xml (original)
>> +++ ofbiz/trunk/applications/product/config/ProductUiLabels.xml Fri Dec 24 15:22:49 2010
>> @@ -19,6 +19,39 @@
>>     under the License.
>> -->
>> <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>> +    <property key="Approve">
>> +        <value xml:lang="en">Approve</value>
>> +        <value xml:lang="th">ยืนยัน</value>
>> +    </property>
>> +    <property key="Approved">
>> +        <value xml:lang="en">Approved</value>
>> +        <value xml:lang="th">ยืนยันแล้ว</value>
>> +    </property>
>> +    <property key="AutomaticResize">
>> +        <value xml:lang="en">Automatic Resize</value>
>> +        <value xml:lang="th">เปลี่ยนขนาดอัตโนมัติ</value>
>> +    </property>
>> +    <property key="CatalogWebAnalytics">
>> +        <value xml:lang="en">Web Analytics</value>
>> +    </property>
>> +    <property key="CatalogWebAnalyticsConfigs">
>> +        <value xml:lang="en">Web Analytics Configuration</value>
>> +    </property>
>> +    <property key="CatalogWebAnalyticsTypes">
>> +        <value xml:lang="en">Web Analytics Types</value>
>> +    </property>
>> +    <property key="ChooseImageToReplace">
>> +        <value xml:lang="en">Choose Image to Replace</value>
>> +        <value xml:lang="th">เลือกภาพสำหรับแทนที่</value>
>> +    </property>
>> +    <property key="ChooseProductID">
>> +        <value xml:lang="en">Choose Product ID</value>
>> +        <value xml:lang="th">เลือกรหัสสินค้า</value>
>> +    </property>
>> +    <property key="ChooseReplacementImage">
>> +        <value xml:lang="en">Choose Replacement Image</value>
>> +        <value xml:lang="th">เลือกภาพที่จะแทนที่</value>
>> +    </property>
>>     <property key="FacilityActualShippingCharges">
>>         <value xml:lang="en">Actual shipping charges</value>
>>         <value xml:lang="it">Ricarico di spedizione attuale</value>
>> @@ -4831,7 +4864,59 @@
>>         <value xml:lang="zh">äººå·¥æœåŠ¡å¥½çš„æ ‡å‡†ç±»åž‹æ ‡è¯†</value>
>>         <value xml:lang="zh_TW">å·¥é …æˆå“è¦ç¯„é¡žåž‹ID</value>
>>     </property>
>> -    <property key="PageTitleAddFacilityGroupRollup">
>> +    <property key="Gallery">
>> +        <value xml:lang="en">Gallery</value>
>> +        <value xml:lang="th">แกลลอรี่</value>
>> +    </property>
>> +    <property key="ImageApprove">
>> +        <value xml:lang="en">Approve</value>
>> +        <value xml:lang="th">ยืนยันรูปภาพ</value>
>> +    </property>
>> +
>> +    <property key="ImageCropping">
>> +        <value xml:lang="en">Image Cropping</value>
>> +        <value xml:lang="th">ตัดภาพ</value>
>> +    </property>
>> +    <property key="ImageFrames">
>> +        <value xml:lang="en">Image Frames</value>
>> +        <value xml:lang="th">เฟรม</value>
>> +    </property>
>> +    <property key="ImageManagement">
>> +        <value xml:lang="en">Image Management</value>
>> +        <value xml:lang="th">จัดการรูปภาพ</value>
>> +    </property>
>> +    <property key="ImageManagementApplication">
>> +        <value xml:lang="en">Image Management Application</value>
>> +        <value xml:lang="th">โปรแกรมจัดการรูปภาพ</value>
>> +    </property>
>> +    <property key="ImageRecentlyApproved">
>> +        <value xml:lang="en">Recently Approved</value>
>> +        <value xml:lang="th">รูปภาพยืนยันล่าสุด</value>
>> +    </property>
>> +    <property key="ImageRejected">
>> +        <value xml:lang="en">Rejected</value>
>> +        <value xml:lang="th">ปฏิเสธรูปภาพ</value>
>> +    </property>
>> +    <property key="ImageRotating">
>> +        <value xml:lang="en">Image Rotating</value>
>> +        <value xml:lang="th">หมุนภาพ</value>
>> +    </property>
>> +    <property key="ImageUpload">
>> +        <value xml:lang="en">Upload</value>
>> +        <value xml:lang="th">อัพโหลดรูป</value>
>> +    </property>
>> +    <property key="ImageUploadList">
>> +        <value xml:lang="en">Image Upload List</value>
>> +        <value xml:lang="th">รูปภาพที่อัพโหลด</value>
>> +    </property>
>> +    <property key="ImageWatermarking">
>> +        <value xml:lang="en">Image Watermarking</value>
>> +        <value xml:lang="th">ลายน้ำ</value>
>> +    </property>
>> +    <property key="Manage">
>> +        <value xml:lang="en">Manage</value>
>> +        <value xml:lang="th">จัดการ</value>
>> +    </property>    <property key="PageTitleAddFacilityGroupRollup">
>>         <value xml:lang="de">Einrichtungsgruppe Rollup hinzufügen</value>
>>         <value xml:lang="en">Add Facility Group Rollup</value>
>>         <value xml:lang="es">Añadir despliegue de grupo de almacenes</value>
>> @@ -23524,4 +23609,28 @@
>>         <value xml:lang="zh">ä½ æœç´¢</value>
>>         <value xml:lang="zh_TW">ä½ æ‰€æœç´¢çš„</value>
>>     </property>
>> +    <property key="RecentlyApproved">
>> +        <value xml:lang="en">Recently Approved</value>
>> +        <value xml:lang="th">แกลลอรี่</value>
>> +    </property>
>> +    <property key="Rejected">
>> +        <value xml:lang="en">Rejected</value>
>> +        <value xml:lang="th">ปฏิเสธ</value>
>> +    </property>
>> +    <property key="Replace">
>> +        <value xml:lang="en">Replace</value>
>> +        <value xml:lang="th">แทนที่</value>
>> +    </property>
>> +    <property key="ShareImage">
>> +        <value xml:lang="en">Share Image</value>
>> +        <value xml:lang="th">แบ่งบันภาพ</value>
>> +    </property>
>> +    <property key="Upload">
>> +        <value xml:lang="en">Upload</value>
>> +        <value xml:lang="th">อัพโหลด</value>
>> +    </property>
>> +    <property key="WelcomeMessage">
>> +        <value xml:lang="en">Welcome to the Image Management</value>
>> +        <value xml:lang="th">ยินดีต้อนรับสู้รบบการจัดการรูปà¸
>> าพ</value>
>> +    </property>
>> </resource>
>>
>> Modified: ofbiz/trunk/applications/product/data/ProductDemoData.xml
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductDemoData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/data/ProductDemoData.xml (original)
>> +++ ofbiz/trunk/applications/product/data/ProductDemoData.xml Fri Dec 24 15:22:49 2010
>> @@ -22,5 +22,25 @@ under the License.
>>     <!-- Limited user demo -->
>>     <UserLoginSecurityGroup groupId="CATALOGADMIN_LTD" userLoginId="ltdadmin" fromDate="2001-01-01 12:00:00.0"/>
>>     <UserLoginSecurityGroup groupId="CATALOGADMIN_LTD" userLoginId="ltdadmin1" fromDate="2001-01-01 12:00:00.0"/>
>> +
>> +    <!-- Image Management user demo -->
>> +    <Party partyId="imageAdmin" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
>> +    <Person partyId="imageAdmin" firstName="Image Management" lastName="Administrator"/>
>> +    <UserLogin userLoginId="imageAdmin" partyId="imageAdmin" currentPassword="{SHA}47b56994cbc2b6d10aa1be30f70165adb305a41a"/>
>> +    <UserLoginSecurityGroup userLoginId="imageAdmin" groupId="FULLADMIN" fromDate="2010-01-01 12:00:00.0"/>
>> +    <UserLoginSecurityGroup userLoginId="imageAdmin" groupId="IMAGEADMIN" fromDate="2010-01-01 12:00:00.0"/>
>> +    <UserLoginSecurityGroup userLoginId="imageAdmin" groupId="IMAGEUPLOAD" fromDate="2010-01-01 12:00:00.0"/>
>> +
>> +    <Party partyId="imageAdmin2" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
>> +    <Person partyId="imageAdmin2" firstName="Image Management" lastName="Administrator 2"/>
>> +    <UserLogin userLoginId="imageAdmin2" partyId="imageAdmin2" currentPassword="{SHA}47b56994cbc2b6d10aa1be30f70165adb305a41a"/>
>> +    <UserLoginSecurityGroup userLoginId="imageAdmin2" groupId="FULLADMIN" fromDate="2010-01-01 12:00:00.0"/>
>> +    <UserLoginSecurityGroup userLoginId="imageAdmin2" groupId="IMAGEAPPROVE" fromDate="2010-01-01 12:00:00.0"/>
>> +
>> +    <Party partyId="imageUpload" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
>> +    <Person partyId="imageUpload" firstName="Image Management" lastName="Upload"/>
>> +    <UserLogin userLoginId="imageUpload" partyId="imageUpload" currentPassword="{SHA}47b56994cbc2b6d10aa1be30f70165adb305a41a"/>
>> +    <UserLoginSecurityGroup userLoginId="imageUpload" groupId="FULLADMIN" fromDate="2010-01-01 12:00:00.0"/>
>> +    <UserLoginSecurityGroup userLoginId="imageUpload" groupId="IMAGEUPLOAD" fromDate="2010-01-01 12:00:00.0"/>
>>
>> </entity-engine-xml>
>>
>> Modified: ofbiz/trunk/applications/product/data/ProductHelpData.xml
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductHelpData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/data/ProductHelpData.xml (original)
>> +++ ofbiz/trunk/applications/product/data/ProductHelpData.xml Fri Dec 24 15:22:49 2010
>> @@ -26,4 +26,9 @@ under the License.
>>     <Content contentId="PRODCATALOG_main" contentTypeId="DOCUMENT" contentName="Main Catalog Help"
>> templateDataResourceId="HELP_TEMPL" dataResourceId="PRODCATALOG_main" statusId="CTNT_IN_PROGRESS" mimeTypeId="text/html"/>
>>     <ContentAssoc contentId="HELP_PRODUCT" contentIdTo="PRODCATALOG_main" contentAssocTypeId="TREE_CHILD" fromDate="2006-01-12
>> 01:01:01" sequenceNum="000" mapKey="PRODCATALOG_main"/>
>>
>> +    <!-- Image Management -->
>> +    <DataResource dataResourceId="IMAGEMANAGEMENT_MAIN" localeString="en" dataResourceTypeId="OFBIZ_FILE"
>> objectInfo="applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml" dataTemplateTypeId="NONE" statusId="CTNT_IN_PROGRESS"
>> dataResourceName="Image Management" mimeTypeId="text/xml" isPublic="Y" />
>> +    <Content contentId="IMAGEMANAGEMENT_MAIN" contentTypeId="DOCUMENT" contentName="Image Management"
>> templateDataResourceId="HELP_TEMPL" dataResourceId="IMAGEMANAGEMENT_MAIN" statusId="CTNT_IN_PROGRESS" mimeTypeId="text/html"/>
>> +    <ContentAssoc contentId="PRODCATALOG_main" contentIdTo="IMAGEMANAGEMENT_MAIN" contentAssocTypeId="TREE_CHILD"
>> fromDate="2006-01-12 01:01:01" sequenceNum="01" mapKey="PRODCATALOG_Imagemanagement"/>
>> +
>> </entity-engine-xml>
>>
>> Modified: ofbiz/trunk/applications/product/data/ProductSecurityData.xml
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductSecurityData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/data/ProductSecurityData.xml (original)
>> +++ ofbiz/trunk/applications/product/data/ProductSecurityData.xml Fri Dec 24 15:22:49 2010
>> @@ -92,4 +92,20 @@ under the License.
>>     <SecurityGroupPermission groupId="FLEXADMIN" permissionId="FACILITY_VIEW"/>
>>     <SecurityGroupPermission groupId="VIEWADMIN" permissionId="FACILITY_VIEW"/>
>>     <SecurityGroupPermission groupId="BIZADMIN" permissionId="FACILITY_ADMIN"/>
>> +
>> +    <!-- Image Management security -->
>> +    <SecurityGroup description="Image Management Admin." groupId="IMAGEADMIN"/>
>> +    <SecurityPermission description="All operations in the Image Management." permissionId="IMAGE_MANAGEMENT_ADMIN"/>
>> +    <SecurityGroupPermission groupId="IMAGEADMIN" permissionId="IMAGE_MANAGEMENT_ADMIN"/>
>> +    <SecurityGroupPermission groupId="IMAGEADMIN" permissionId="IMAGE_MANAGEMENT_APPROVE"/>
>> +    <SecurityGroupPermission groupId="IMAGEADMIN" permissionId="IMAGE_MANAGEMENT_UPLOAD"/>
>> +    <SecurityGroupPermission groupId="FULLADMIN" permissionId="IMAGE_MANAGEMENT_ADMIN"/>
>> +
>> +    <SecurityGroup description="Image Management Approve" groupId="IMAGEAPPROVE"/>
>> +    <SecurityPermission description="Approve photos in the Image Management." permissionId="IMAGE_MANAGEMENT_APPROVE"/>
>> +    <SecurityGroupPermission groupId="IMAGEAPPROVE" permissionId="IMAGE_MANAGEMENT_APPROVE"/>
>> +
>> +    <SecurityGroup description="Image Management Upload." groupId="IMAGEUPLOAD"/>
>> +    <SecurityPermission description="Upload photos in the Image Management." permissionId="IMAGE_MANAGEMENT_UPLOAD"/>
>> +    <SecurityGroupPermission groupId="IMAGEUPLOAD" permissionId="IMAGE_MANAGEMENT_UPLOAD"/>
>> </entity-engine-xml>
>>
>> Modified: ofbiz/trunk/applications/product/data/ProductTypeData.xml
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductTypeData.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/data/ProductTypeData.xml (original)
>> +++ ofbiz/trunk/applications/product/data/ProductTypeData.xml Fri Dec 24 15:22:49 2010
>> @@ -584,7 +584,49 @@ under the License.
>>     <WebSite webSiteId="FACILITY" siteName="Facility Manager" visualThemeSetId="BACKOFFICE"/>
>>
>>     <WebAnalyticsType description="Web Analytics" hasTable="N" parentTypeId="" webAnalyticsTypeId="WEB_ANALYTICS"/>
>> -    <WebAnalyticsType webAnalyticsTypeId="GOOGLE_ANALYTICS" parentTypeId="WEB_ANALYTICS" hasTable="N" description="Google
>> Analytics"/>
>> +    <WebAnalyticsType webAnalyticsTypeId="GOOGLE_ANALYTICS" parentTypeId="WEB_ANALYTICS" hasTable="N" description="Google
>> Analytics"/>
>>     <WebAnalyticsType webAnalyticsTypeId="BING_ANALYTICS" parentTypeId="WEB_ANALYTICS" hasTable="N" description="Bing
>> Analytics"/> -
>> +
>> +    <!-- Image Management -->
>> +    <RoleType roleTypeId="IMAGEAPPROVER" hasTable="N" description="Image Approver"/>
>> +
>> +    <PartyContentType partyContentTypeId="IMAGEAPPROVER" description="Image Approver"/>
>> +
>> +    <ProductContentType description="Image" hasTable="N" parentTypeId="" productContentTypeId="IMAGE"/>
>> +    <ProductContentType description="Frame" hasTable="N" parentTypeId="" productContentTypeId="FRAME"/>
>> +
>> +    <ContentType contentTypeId="IMAGE_FRAME" description="Frame Image"/>
>> +
>> +    <ContentAssocType contentAssocTypeId="IMAGE_THUMBNAIL" description="Image Thumbnail"/>
>> +
>> +    <StatusType description="Image Management" hasTable="N" parentTypeId="" statusTypeId="IMAGE_MANAGEMENT_ST"/>
>> +    <StatusItem description="Pending" sequenceId="01" statusCode="PENDING" statusId="IM_PENDING"
>> statusTypeId="IMAGE_MANAGEMENT_ST"/>
>> +    <StatusItem description="Approved" sequenceId="02" statusCode="APPROVED" statusId="IM_APPROVED"
>> statusTypeId="IMAGE_MANAGEMENT_ST"/>
>> +    <StatusItem description="Rejected" sequenceId="03" statusCode="REJECTED" statusId="IM_REJECTED"
>> statusTypeId="IMAGE_MANAGEMENT_ST"/>
>> +
>> +    <ProductFeatureCategory productFeatureCategoryId="IMAGE" description="Image"/>
>> +    <ProductFeatureCategory productFeatureCategoryId="TEXT" description="Text"/>
>> +
>> +    <ProductFeature productFeatureId="IMAGE_AVATAR" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>> description="100 X 75 (avatar)" defaultSequenceNum="1"/>
>> +    <ProductFeature productFeatureId="IMAGE_THUMBNAIL" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>> description="150 X 112 (thumbnail)" defaultSequenceNum="2"/>
>> +    <ProductFeature productFeatureId="IMAGE_WEBSITE" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>> description="320 X 240 (for websites and email)" defaultSequenceNum="3"/>
>> +    <ProductFeature productFeatureId="IMAGE_BOARD" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE" description="640
>> X 480 (for message boards)" defaultSequenceNum="4"/>
>> +    <ProductFeature productFeatureId="IMAGE_MONITOR15" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>> description="800 X 600 (15-inch monitor)" defaultSequenceNum="5"/>
>> +    <ProductFeature productFeatureId="IMAGE_MONITOR17" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>> description="1024 X 768 (17-inch monitor)" defaultSequenceNum="6"/>
>> +    <ProductFeature productFeatureId="IMAGE_MONITOR19" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>> description="1280 X 1024 (19-inch monitor)" defaultSequenceNum="7"/>
>> +    <ProductFeature productFeatureId="IMAGE_MONITOR21" productFeatureTypeId="SIZE" productFeatureCategoryId="IMAGE"
>> description="1600 X 1200 (21-inch monitor)" defaultSequenceNum="8"/>
>> +
>> +    <ProductFeature productFeatureId="TEXT_SMALL" productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
>> description="Small" defaultSequenceNum="1"/>
>> +    <ProductFeature productFeatureId="TEXT_MIDDLE" productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
>> description="Middle" defaultSequenceNum="2"/>
>> +    <ProductFeature productFeatureId="TEXT_LARGE" productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
>> description="Large" defaultSequenceNum="3"/>
>> +    <ProductFeature productFeatureId="TEXT_VERYLARGE" productFeatureTypeId="SIZE" productFeatureCategoryId="TEXT"
>> description="Very Large" defaultSequenceNum="4"/>
>> +
>> +    <ProductFeature productFeatureId="TEXT_WHITE" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>> description="White" defaultSequenceNum="1"/>
>> +    <ProductFeature productFeatureId="TEXT_GRAY" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT" description="Gray"
>> defaultSequenceNum="2"/>
>> +    <ProductFeature productFeatureId="TEXT_BLACK" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>> description="Black" defaultSequenceNum="3"/>
>> +    <ProductFeature productFeatureId="TEXT_RED" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT" description="Red"
>> defaultSequenceNum="4"/>
>> +    <ProductFeature productFeatureId="TEXT_GREEN" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>> description="Green" defaultSequenceNum="5"/>
>> +    <ProductFeature productFeatureId="TEXT_BLUE" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT" description="Blue"
>> defaultSequenceNum="6"/>
>> +    <ProductFeature productFeatureId="TEXT_YELLOW" productFeatureTypeId="COLOR" productFeatureCategoryId="TEXT"
>> description="Yellow" defaultSequenceNum="7"/>
>> +
>> </entity-engine-xml>
>>
>> Added: ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml?rev=1052521&view=auto
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml (added)
>> +++ ofbiz/trunk/applications/product/data/helpdata/HELP_IMAGEMANAGEMENT.xml Fri Dec 24 15:22:49 2010
>> @@ -0,0 +1,226 @@
>> +<?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"
>> +    version="5.0" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
>> +    xsi:schemaLocation="http://docbook.org/ns/docbook ../../../content/dtd/docbook.xsd"
>> +    xmlns="http://docbook.org/ns/docbook">
>> +    <title>Image Management Help.</title>
>> +    <para>The Image Management module manages many kind of image what user want. There are various functions including
>> 'Gallery', 'Upload', 'Approved', 'Manage' etc.</para>
>> +    <para>
>> +         <orderedlist>
>> +            <listitem>
>> +                <para>Go to Catalog Component.</para>
>> +                <para>Go to Image Management.</para>
>> +            </listitem>
>> +         </orderedlist>
>> +    </para>
>> +
>> +    <section>
>> +        <title>How To Add Security Group For Image Management User</title>
>> +        <para>There are three security groups related in the Image Management including 'IMAGEADMIN', 'IMAGEAPPROVE' and '
>> IMAGEUPLOAD'.</para>
>> +        <para>
>> +            <orderedlist>
>> +                <listitem>
>> +                    <para>Go to 'Party' component.</para>
>> +                    <para>Search 'UserLogin' or 'Party Id'.</para>
>> +                    <para>Click 'UserLogin' or 'Party Id'.</para>
>> +                    <para>At 'User Name(s)', click 'Security Groups' button.</para>
>> +                    <para>At 'Add UserLogin to Security Group', select group 'IMAGEADMIN Image Management Admin' for use all
>> operations in the Image Management.</para>
>> +                    <para>select 'IMAGEUPLOAD Image Management Upload': To add party's permission for uploading, or select
>> 'IMAGEAPPROVE Image Management Approve': To add party's permission for approving.</para>
>> +                </listitem>
>> +            </orderedlist>
>> +        </para>
>> +    </section>
>> +    <section>
>> +        <title>How To Add Role For Approve Image To Party Id</title>
>> +        <para>When user click partyId into party's screen already. Select the submenu 'Role(s)' to add the role to party</para>
>> +        <para>There is Add To Role screenlet, select role 'Image Approver'(on the combobox role type Id) then click 'add'
>> button.</para>
>> +    </section>
>> +    <section>
>> +        <title>Gallery</title>
>> +        <section>
>> +            <para>Gallery shows all images which have approved.</para>
>> +            <para>Note: Everybody can access Gallery function.</para>
>> +            <orderedlist>
>> +                <listitem>
>> +                    <para>Click 'Gallery' button, then choose a 'Product Id' by type or click a find icon.</para>
>> +                    <para>Click 'Submit' button, then you will see all images which have approved.</para>
>> +                    <para>You can click 'Share' button that generates any codes to share your images to any people.</para>
>> +                </listitem>
>> +            </orderedlist>
>> +        </section>
>> +    </section>
>> +    <section>
>> +        <title>Upload</title>
>> +        <section>
>> +            <para>In this function, you can upload image files into system. You can upload many image files up to 10
>> files.</para>
>> +            <para>Note: You must have Image Management Upload permission for access Upload function.</para>
>> +            <orderedlist>
>> +                <listitem>
>> +                    <para>Go to 'Upload' section, Enter 'Product Id' by type or click a find icon.</para>
>> +                    <para>Optional, you can specify the size of images.</para>
>> +                    <para>Then click 'Browse' button to choose image file(s).</para>
>> +                    <para>Click 'Upload' button.</para>
>> +                </listitem>
>> +            </orderedlist>
>> +        </section>
>> +    </section>
>> +    <section>
>> +        <title>Recently Approved</title>
>> +        <section>
>> +            <para>In this function, you can see the images which have been approved for 14 days recently.</para>
>> +            <para>Note: You must have Image Management Admin permission for access this function.</para>
>> +            <orderedlist>
>> +                <listitem>
>> +                    <para>Click 'Recently Approved' Button, then you will see the lists of recently approved product which are
>> separated by date.</para>
>> +                    <para>Click on product id to see its images with details.</para>
>> +                </listitem>
>> +            </orderedlist>
>> +        </section>
>> +    </section>
>> +    <section>
>> +        <title>Approve</title>
>> +        <section>
>> +            <para>In this function, you can set the status of each image including 'Approve', 'Pending' and 'Rejected'.</para>
>> +            <para>Note: You must have Image Management Admin permission for access this function.</para>
>> +            <orderedlist>
>> +                <listitem>
>> +                    <para>Click 'Approve' Button, then specify the status of each image.</para>
>> +                    <para>Choose 'Approve' status for approve image.</para>
>> +                    <para>Choose 'Reject' status for reject image..</para>
>> +                    <para>Choose 'Pending' status for pending image..</para>
>> +                    <para>Click 'Submit' button.</para>
>> +                </listitem>
>> +            </orderedlist>
>> +            <para>The images will be approved if all image administrators approved them. But if only one person rejects an image
>> then that image will be rejected.</para>
>> +        </section>
>> +    </section>
>> +    <section>
>> +        <title>Rejected</title>
>> +        <section>
>> +            <para>The Rejected function shows the images which have rejected.</para>
>> +            <para>Note: You must have Image Management Admin permission for access this function.</para>
>> +            <orderedlist>
>> +                <listitem>
>> +                    <para>Click 'Rejected' button, then you specify the reason of rejection each image.</para>
>> +                    <para>Then click 'Submit' button.</para>
>> +                </listitem>
>> +            </orderedlist>
>> +        </section>
>> +    </section>
>> +    <section>
>> +        <title>Manage</title>
>> +        <section>
>> +            <para>You can edit image such as add frame, embedded watermark, crop image etc. You can also add caption, sort
>> order, exclude image and choose thumbnail in this function.</para>
>> +            <para>Note: You must have Image Management Admin permission for access this function.</para>
>> +            <orderedlist>
>> +                <listitem>
>> +                    <para>Click 'Manage' Button, then you can choose action including 'Frame', 'Watermark', 'Crop' and 'Rotate'
>> (see below for more details).</para>
>> +                    <para>Enter your image caption.</para>
>> +                    <para>Sort order of image by enter order number.</para>
>> +                    <para>Exclude image by tick excluded checkbox.</para>
>> +                    <para>Select image thumbnail of product.</para>
>> +                    <para>Click 'Submit' button.</para>
>> +                </listitem>
>> +            </orderedlist>
>> +            <section>
>> +                <title>- Frame</title>
>> +                <section>
>> +                    <para>In Frame function, you can merge your image with the frame image (transparent image file e.g. PNG
>> type) together.</para>
>> +                    <para>The frame image should be larger than selected image.</para>
>> +                    <orderedlist>
>> +                        <listitem>
>> +                            <para>Choose 'Frame' then choose the image you want to merge frame.</para>
>> +                            <para>Select the frame image by browsing transparent image file, such as PNG type.</para>
>> +                            <para>Click 'Upload' button to upload the frame image.</para>
>> +                            <para>Enter width and height of image.</para>
>> +                            <para>Optional, you click 'Preview' to see example image.</para>
>> +                            <para>Click 'Create' button.</para>
>> +                        </listitem>
>> +                    </orderedlist>
>> +                </section>
>> +            </section>
>> +            <section>
>> +                <title>- Watermark</title>
>> +                <section>
>> +                    <para>In Watermark function, you can draw some text on your image.</para>
>> +                    <orderedlist>
>> +                        <listitem>
>> +                            <para>Choose 'Watermark' then choose image you want.</para>
>> +                            <para>Enter any text, Choose text color, text size and text position.</para>
>> +                            <para>Optional, you can preview image by click 'Preview' button.</para>
>> +                            <para>Click 'Watermark' button.</para>
>> +                        </listitem>
>> +                    </orderedlist>
>> +                </section>
>> +            </section>
>> +        </section>
>> +        <section>
>> +            <title>- Crop</title>
>> +            <section>
>> +                <para>You can crop any images in this function.</para>
>> +                <orderedlist>
>> +                    <listitem>
>> +                        <para>Choose 'Crop' then choose your image.</para>
>> +                        <para>Move your cursor on the image, then drag your mouse to crop image.</para>
>> +                        <para>You can see the preview image in the right hand side.</para>
>> +                        <para>Finally, you click 'Crop' button.</para>
>> +                    </listitem>
>> +                </orderedlist>
>> +            </section>
>> +        </section>
>> +        <section>
>> +            <title>- Rotate</title>
>> +            <section>
>> +                <para>You can rotate images in this function.</para>
>> +                <orderedlist>
>> +                    <listitem>
>> +                        <para>Choose 'Rotate' then click clockwise or counterclockwise button for ratating image.</para>
>> +                        <para>Click 'Submit' button</para>
>> +                    </listitem>
>> +                </orderedlist>
>> +            </section>
>> +        </section>
>> +    </section>
>> +    <section>
>> +        <title>Replace</title>
>> +        <section>
>> +            <para>In this function, you can replace the selected image with other image.</para>
>> +            <para>The image which you want to replace must be approved first.</para>
>> +            <orderedlist>
>> +                <listitem>
>> +                    <para>Click 'Replace' button, Enter 'Product Id' by type or click a find icon.</para>
>> +                    <para>Then choose the image which you want to replace.</para>
>> +                    <para>Choose the other image to replace with the selected image.</para>
>> +                    <para>Click 'Submit' button.</para>
>> +                </listitem>
>> +            </orderedlist>
>> +        </section>
>> +    </section>
>> +    <!--<section>
>> +        <title>Automatic Resize</title>
>> +        <section>
>> +            <para>You can resize any images in this function.</para>
>> +            <orderedlist>
>> +                <listitem>
>> +                    <para>Go to 'Automatic Resize' section, Enter 'Product Id' by type or click a find icon.</para>
>> +                    <para>Choose Image to resize, then you can select a size.</para>
>> +                    <para>Click 'Upload Image'.</para>
>> +                </listitem>
>> +            </orderedlist>
>> +        </section>
>> +    </section>-->
>> +</section>
>>
>> Modified: ofbiz/trunk/applications/product/entitydef/entitymodel.xml
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/entitydef/entitymodel.xml (original)
>> +++ ofbiz/trunk/applications/product/entitydef/entitymodel.xml Fri Dec 24 15:22:49 2010
>> @@ -4814,4 +4814,15 @@ under the License.
>>         <key-map field-name="productPromoContentTypeId" rel-field-name="productContentTypeId"/>
>>       </relation>
>>     </entity>
>> +
>> +    <!-- Image Management -->
>> +    <extend-entity entity-name="ProductContent">
>> +        <field name="defaultSequenceNum" type="numeric"/>
>> +        <field name="enable" type="indicator"/>
>> +        <field name="thumbnail" type="indicator"/>
>> +    </extend-entity>
>> +
>> +    <extend-entity entity-name="PartyContent">
>> +        <field name="statusId" type="id"></field>
>> +    </extend-entity>
>> </entitymodel>
>>
>> Added: ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml?rev=1052521&view=auto
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml (added)
>> +++ ofbiz/trunk/applications/product/entitydef/entitymodel_view.xml Fri Dec 24 15:22:49 2010
>> @@ -0,0 +1,46 @@
>> +<?xml version="1.0" encoding="UTF-8"?>
>> +<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> +    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
>> +
>> +    <view-entity entity-name="PartyContentProductContentAndInfo"
>> +            package-name="org.ofbiz.content.content"
>> +            title="PartyContent, ProductContent, Content and DataResource View Entity">
>> +      <member-entity entity-alias="PAC" entity-name="PartyContent"/>
>> +      <member-entity entity-alias="PRC" entity-name="ProductContent"/>
>> +      <member-entity entity-alias="CO" entity-name="Content"/>
>> +      <member-entity entity-alias="DR" entity-name="DataResource"/>
>> +      <alias-all entity-alias="PAC"/>
>> +      <alias-all entity-alias="PRC">
>> +      <exclude field="contentId"/>
>> +      </alias-all>
>> +      <alias-all entity-alias="CO">
>> +      <exclude field="contentId"/>
>> +      </alias-all>
>> +      <alias-all entity-alias="DR" prefix="dr"/>
>> +      <view-link entity-alias="PAC" rel-entity-alias="PRC">
>> +        <key-map field-name="contentId"/>
>> +      </view-link>
>> +      <view-link entity-alias="PRC" rel-entity-alias="CO">
>> +        <key-map field-name="contentId"/>
>> +      </view-link>
>> +      <view-link entity-alias="CO" rel-entity-alias="DR">
>> +        <key-map field-name="dataResourceId"/>
>> +      </view-link>
>> +      <relation type="one-nofk" rel-entity-name="ElectronicText">
>> +        <key-map field-name="dataResourceId"/>
>> +      </relation>
>> +      <relation type="one-nofk" rel-entity-name="ImageDataResource">
>> +        <key-map field-name="dataResourceId"/>
>> +      </relation>
>> +      <relation type="one-nofk" rel-entity-name="OtherDataResource">
>> +        <key-map field-name="dataResourceId"/>
>> +      </relation>
>> +      <relation type="many" rel-entity-name="ContentAssocDataResourceViewFrom">
>> +        <key-map field-name="contentId" rel-field-name="contentIdStart"/>
>> +      </relation>
>> +      <relation type="many" rel-entity-name="ContentAssocDataResourceViewTo">
>> +        <key-map field-name="contentId" rel-field-name="contentIdStart"/>
>> +      </relation>
>> +    </view-entity>
>> +
>> +</entitymodel>
>>
>> Added: ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar?rev=1052521&view=auto
>> ==============================================================================
>> Binary file - no diff available.
>>
>> Propchange: ofbiz/trunk/applications/product/lib/dozer-4.2.1.jar
>> ------------------------------------------------------------------------------
>>    svn:mime-type = application/octet-stream
>>
>> Added: ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar?rev=1052521&view=auto
>> ==============================================================================
>> Binary file - no diff available.
>>
>> Propchange: ofbiz/trunk/applications/product/lib/watermarker-0.0.4.jar
>> ------------------------------------------------------------------------------
>>    svn:mime-type = application/octet-stream
>>
>> Modified: ofbiz/trunk/applications/product/ofbiz-component.xml
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/ofbiz-component.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>> ============================================================================== ---
>> ofbiz/trunk/applications/product/ofbiz-component.xml (original) +++ ofbiz/trunk/applications/product/ofbiz-component.xml Fri Dec
>> 24 15:22:49 2010 @@ -24,8 +24,10 @@ under the License.
>>     <resource-loader name="main" type="component"/>
>>     <classpath type="dir" location="config"/>
>>     <classpath type="jar" location="build/lib/*"/>
>> +    <classpath type="jar" location="lib/*"/>
>>
>>     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
>> +    <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_view.xml"/>
>>     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_old.xml"/>
>>     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_shipment.xml"/>
>>     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_olap.xml"/>
>>
>> Added: ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml?rev=1052521&view=auto
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml (added)
>> +++ ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementEvents.xml Fri Dec 24 15:22:49 2010
>> @@ -0,0 +1,59 @@
>> +<?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.
>> +-->
>> +
>> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> +        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
>> +
>> +    <simple-method method-name="setImageThumbnail" short-description="Set Image Thumbnail">
>> +        <!-- change status lastest thumbnail to 'N' -->
>> +        <entity-and list="lastestThumbnails" entity-name="ProductContent">
>> +            <field-map field-name="productId" from-field="parameters.productId"/>
>> +            <field-map field-name="productContentTypeId" value="IMAGE"/>
>> +            <field-map field-name="thumbnail" value="Y"/>
>> +        </entity-and>
>> +        <first-from-list entry="lastestThumbnail" list="lastestThumbnails"/>
>> +        <if-not-empty field="lastestThumbnail">
>> +            <set field="lastestThumbnail.thumbnail" value="N"/>
>> +            <store-value value-field="lastestThumbnail"/>
>> +        </if-not-empty>
>> +
>> +        <!-- set status thumbnail to 'Y' -->
>> +        <entity-and list="productContents" entity-name="ProductContent">
>> +            <field-map field-name="productId" from-field="parameters.productId"/>
>> +            <field-map field-name="contentId" from-field="parameters.contentId"/>
>> +            <field-map field-name="productContentTypeId" value="IMAGE"/>
>> +        </entity-and>
>> +        <first-from-list entry="productContent" list="productContents"/>
>> +        <set field="productContent.thumbnail" value="Y"/>
>> +        <store-value value-field="productContent"/>
>> +
>> +        <!-- set thumbnail to product -->
>> +        <entity-and list="productContentAndInfos" entity-name="ProductContentAndInfo">
>> +            <field-map field-name="productId" from-field="parameters.productId"/>
>> +            <field-map field-name="contentId" from-field="parameters.contentId"/>
>> +            <field-map field-name="productContentTypeId" value="IMAGE"/>
>> +        </entity-and>
>> +        <if-not-empty field="productContentAndInfos">
>> +            <set field="setThumbnailMap.productId" from-field="parameters.productId"/>
>> +            <set field="setThumbnailMap.contentIdTo" from-field="parameters.contentIdTo"/>
>> +            <call-service service-name="setThumbnail" in-map-name="setThumbnailMap"/>
>> +        </if-not-empty>
>> +    </simple-method>
>> +</simple-methods>
>>
>> Added: ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml?rev=1052521&view=auto
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml (added)
>> +++ ofbiz/trunk/applications/product/script/org/ofbiz/product/imagemanagement/ImageManagementServices.xml Fri Dec 24 15:22:49
>> 2010 @@ -0,0 +1,370 @@
>> +<?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.
>> +-->
>> +
>> +<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> +        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
>> +
>> +    <simple-method method-name="UploadProductImages" short-description="Method to upload multiple images for product">
>> +        <set-service-fields service-name="addMultipleuploadForProduct" map="parameters"
>> to-map="addAdditionalViewForProductMap"/> +        <if-not-empty field="parameters.additionalImageOne">
>> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
>> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
>> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageOne"/>
>> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>> from-field="parameters._additionalImageOne_fileName"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>> from-field="parameters._additionalImageOne_contentType"/>
>> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
>> +            <clear-field field="addAdditionalViewForProductMap"/>
>> +        </if-not-empty>
>> +        <if-not-empty field="parameters.additionalImageTwo">
>> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
>> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
>> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageTwo"/>
>> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>> from-field="parameters._additionalImageTwo_fileName"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>> from-field="parameters._additionalImageTwo_contentType"/>
>> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
>> +            <clear-field field="addAdditionalViewForProductMap"/>
>> +        </if-not-empty>
>> +        <if-not-empty field="parameters.additionalImageThree">
>> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
>> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
>> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageThree"/>
>> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>> from-field="parameters._additionalImageThree_fileName"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>> from-field="parameters._additionalImageThree_contentType"/>
>> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
>> +            <clear-field field="addAdditionalViewForProductMap"/>
>> +        </if-not-empty>
>> +        <if-not-empty field="parameters.additionalImageFour">
>> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
>> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
>> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageFour"/>
>> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>> from-field="parameters._additionalImageFour_fileName"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>> from-field="parameters._additionalImageFour_contentType"/>
>> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
>> +            <clear-field field="addAdditionalViewForProductMap"/>
>> +        </if-not-empty>
>> +        <if-not-empty field="parameters.additionalImageFive">
>> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
>> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
>> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageFive"/>
>> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>> from-field="parameters._additionalImageFive_fileName"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>> from-field="parameters._additionalImageFive_contentType"/>
>> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
>> +            <clear-field field="addAdditionalViewForProductMap"/>
>> +        </if-not-empty>
>> +        <if-not-empty field="parameters.additionalImageSix">
>> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
>> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
>> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageSix"/>
>> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>> from-field="parameters._additionalImageSix_fileName"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>> from-field="parameters._additionalImageSix_contentType"/>
>> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
>> +            <clear-field field="addAdditionalViewForProductMap"/>
>> +        </if-not-empty>
>> +        <if-not-empty field="parameters.additionalImageSeven">
>> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
>> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
>> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageSeven"/>
>> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
>> +           <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>> from-field="parameters._additionalImageSeven_fileName"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>> from-field="parameters._additionalImageSeven_contentType"/>
>> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
>> +            <clear-field field="addAdditionalViewForProductMap"/>
>> +        </if-not-empty>
>> +        <if-not-empty field="parameters.additionalImageEight">
>> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
>> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
>> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageEight"/>
>> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>> from-field="parameters._additionalImageEight_fileName"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>> from-field="parameters._additionalImageEight_contentType"/>
>> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
>> +            <clear-field field="addAdditionalViewForProductMap"/>
>> +        </if-not-empty>
>> +        <if-not-empty field="parameters.additionalImageNine">
>> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
>> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
>> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageNine"/>
>> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>> from-field="parameters._additionalImageNine_fileName"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>> from-field="parameters._additionalImageNine_contentType"/>
>> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
>> +            <clear-field field="addAdditionalViewForProductMap"/>
>> +        </if-not-empty>
>> +        <if-not-empty field="parameters.additionalImageTen">
>> +            <set field="addAdditionalViewForProductMap.productId" from-field="parameters.productId"/>
>> +            <set field="addAdditionalViewForProductMap.imageResize" from-field="parameters.imageResize"/>
>> +            <set field="addAdditionalViewForProductMap.uploadedFile" from-field="parameters.additionalImageTen"/>
>> +            <set field="addAdditionalViewForProductMap.productContentTypeId" value="IMAGE"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_fileName"
>> from-field="parameters._additionalImageTen_fileName"/>
>> +            <set field="addAdditionalViewForProductMap._uploadedFile_contentType"
>> from-field="parameters._additionalImageTen_contentType"/>
>> +            <call-service service-name="addMultipleuploadForProduct" in-map-name="addAdditionalViewForProductMap"/>
>> +            <clear-field field="addAdditionalViewForProductMap"/>
>> +        </if-not-empty>
>> +        <field-to-result field="parameters.productId" result-name="productId"/>
>> +    </simple-method>
>> +
>> +    <simple-method method-name="removeProductContentAndImageFile" short-description="Remove Content From Product and Image
>> File"> +        <entity-and list="contentAssocs" entity-name="ContentAssoc">
>> +            <field-map field-name="contentId" from-field="parameters.contentId"/>
>> +            <field-map field-name="contentAssocTypeId" value="IMAGE_THUMBNAIL"/>
>> +        </entity-and>
>> +        <if-not-empty field="contentAssocs">
>> +            <first-from-list entry="contentAssoc" list="contentAssocs"/>
>> +            <remove-value value-field="contentAssoc"/>
>> +
>> +            <set field="removeContent.contentId" from-field="contentAssoc.contentIdTo"/>
>> +            <set field="removeContent.productId" from-field="parameters.productId"/>
>> +            <call-service service-name="removeProductContentForImageManagement" in-map-name="removeContent"/>
>> +        </if-not-empty>
>> +
>> +        <make-value value-field="lookupPKMap" entity-name="ProductContent"/>
>> +        <set-pk-fields map="parameters" value-field="lookupPKMap"/>
>> +        <find-by-primary-key map="lookupPKMap" value-field="lookedUpValue"/>
>> +        <remove-value value-field="lookedUpValue"/>
>> +        <set field="removeContent.contentId" from-field="parameters.contentId"/>
>> +        <set field="removeContent.productId" from-field="parameters.productId"/>
>> +        <call-service service-name="removeProductContentForImageManagement" in-map-name="removeContent"/>
>> +    </simple-method>
>> +
>> +    <simple-method method-name="removeProductContentForImageManagement" short-description="Remove Content From Product">
>> +        <entity-and list="contentRoles" entity-name="ContentRole" >
>> +           <field-map field-name="contentId" from-field="parameters.contentId"/>
>> +        </entity-and>
>> +        <remove-value value-field="contentRoles[0]"/>
>> +
>> +        <entity-condition entity-name="PartyContent" list="partyContents">
>> +            <condition-list combine="and">
>> +                <condition-expr field-name="contentId" from-field="parameters.contentId"/>
>> +                <condition-expr field-name="partyContentTypeId" value="IMAGEAPPROVER"/>
>> +            </condition-list>
>> +        </entity-condition>
>> +        <iterate entry="partyContent" list="partyContents">
>> +            <remove-value value-field="partyContent"/>
>> +        </iterate>
>> +
>> +        <entity-one value-field="content" entity-name="Content">
>> +            <field-map field-name="contentId" from-field="parameters.contentId"/>
>> +        </entity-one>
>> +
>> +        <set field="removeContentPKMap.contentId" from-field="parameters.contentId"/>
>> +        <set-service-fields service-name="removeContent" map="removeContentPKMap" to-map="removeContentMap"/>
>> +        <call-service service-name="removeContent" in-map-name="removeContentMap"/>
>> +
>> +        <set field="dataResourceId" from-field="content.dataResourceId"/>
>> +        <entity-and list="dataResourceRoles" entity-name="DataResourceRole" >
>> +            <field-map field-name="dataResourceId" from-field="dataResourceId"/>
>> +        </entity-and>
>> +        <remove-value value-field="dataResourceRoles[0]"/>
>> +
>> +        <entity-one value-field="dataResource" entity-name="DataResource">
>> +            <field-map field-name="dataResourceId" from-field="dataResourceId"/>
>> +        </entity-one>
>> +
>> +        <set field="removeImageFile.productId" from-field="parameters.productId"/>
>> +        <set field="removeImageFile.contentId" from-field="parameters.contentId"/>
>> +        <set field="removeImageFile.dataResourceName" from-field="dataResource.dataResourceName"/>
>> +        <set-service-fields service-name="removeImageFileForImageManagement" map="removeImageFile" to-map="removeImageFileMap"/>
>> +        <call-service service-name="removeImageFileForImageManagement" in-map-name="removeImageFileMap"/>
>> +
>> +        <set field="removeDataResourcePKMap.dataResourceId" from-field="dataResourceId"/>
>> +        <set-service-fields service-name="removeDataResource" map="removeDataResourcePKMap" to-map="removeDataResourceMap"/>
>> +        <call-service service-name="removeDataResource" in-map-name="removeDataResourceMap"/>
>> +    </simple-method>
>> +
>> +    <simple-method method-name="setImageDetail" short-description="Set Image Detail">
>> +        <!-- set sort order (defaultSequenceNum) and exclude (enable) -->
>> +        <entity-one value-field="productContent" entity-name="ProductContent"/>
>> +        <set field="productContent.defaultSequenceNum" from-field="parameters.defaultSequenceNum" type="Long"/>
>> +        <store-value value-field="productContent"/>
>> +        <if-not-empty field="parameters.defaultSequenceNum">
>> +            <script location="component://image_management/webapp/image_management/WEB-INF/actions/sortSequenceNum.groovy"/>
>> +            <set field="productContent.defaultSequenceNum" from-field="parameters.defaultSequenceNum" type="Long"/>
>> +            <store-value value-field="productContent"/>
>> +        </if-not-empty>
>> +        <if-compare operator="equals" value="false" field="parameters.enable"> <!-- if ticked checked box = false -->
>> +            <set field="parameters.enable" value="true"/>
>> +            <else>
>> +                <set field="parameters.enable" value="false"/>
>> +            </else>
>> +        </if-compare>
>> +        <set field="productContent.enable" from-field="parameters.enable" type="Boolean"/>
>> +        <store-value value-field="productContent"/>
>> +
>> +        <!-- set caption -->
>> +        <entity-one value-field="content" entity-name="Content"/>
>> +        <set field="content.description" from-field="parameters.description"/>
>> +        <store-value value-field="content"/>
>> +    </simple-method>
>> +
>> +    <simple-method method-name="updateStatusImageManagement" short-description="Update Status Image Management">
>> +        <now-timestamp field="nowTimestamp"/>
>> +        <set field="parameters.checkStatusId" value="${groovy: import org.ofbiz.base.util.StringUtil;
>> +        checkStatusVal = parameters.checkStatusId;
>> +        statusId = StringUtil.split(checkStatusVal, &quot;/&quot;);
>> +        if (statusId) return statusId[0];
>> +        }"/>
>> +        <entity-and entity-name="PartyContent" list="partyContents">
>> +            <field-map field-name="partyId" from-field="userLogin.partyId"/>
>> +            <field-map field-name="contentId" from-field="parameters.contentId"/>
>> +            <field-map field-name="partyContentTypeId" value="IMAGEAPPROVER"/>
>> +        </entity-and>
>> +        <first-from-list entry="partyContent" list="partyContents"/>
>> +        <if-not-empty field="parameters.checkStatusId">
>> +            <set field="partyContent.statusId" from-field="parameters.checkStatusId"/>
>> +        </if-not-empty>
>> +        <store-value value-field="partyContent"/>
>> +
>> +        <if-compare field="parameters.checkStatusId" operator="equals" value="IM_REJECTED">
>> +            <entity-condition entity-name="PartyContent" list="checkRejects">
>> +                <condition-list combine="and">
>> +                    <condition-expr field-name="contentId" operator="equals" from-field="parameters.contentId"/>
>> +                    <condition-expr field-name="partyContentTypeId" operator="equals" value="IMAGEAPPROVER"/>
>> +                </condition-list>
>> +            </entity-condition>
>> +            <iterate entry="checkReject" list="checkRejects">
>> +                <set field="checkReject.statusId" value="IM_REJECTED"/>
>> +                <store-value value-field="checkReject"/>
>> +            </iterate>
>> +            <entity-one entity-name="Content" value-field="content"/>
>> +            <set field="content.statusId" value="IM_REJECTED"/>
>> +            <set field="content.createdByUserLogin" from-field="userLogin.userLoginId"/>
>> +            <store-value value-field="content"/>
>> +            <else>
>> +                <if-compare field="parameters.checkStatusId" operator="equals" value="IM_APPROVED">
>> +                    <entity-count entity-name="PartyContent" count-field="countParty">
>> +                        <condition-list combine="and">
>> +                            <condition-expr field-name="contentId" operator="equals" from-field="parameters.contentId"/>
>> +                            <condition-expr field-name="partyContentTypeId" operator="equals" value="IMAGEAPPROVER"/>
>> +                        </condition-list>
>> +                    </entity-count>
>> +                    <if-compare field="countParty" operator="equals" value="1">
>> +                        <entity-one entity-name="Content" value-field="content"/>
>> +                        <set field="content.statusId" value="IM_APPROVED"/>
>> +                        <store-value value-field="content"/>
>> +
>> +                        <entity-and entity-name="ProductContent" list="productContents">
>> +                            <field-map field-name="contentId" from-field="parameters.contentId"/>
>> +                            <field-map field-name="productContentTypeId" value="IMAGE"/>
>> +                        </entity-and>
>> +                        <first-from-list entry="productContent" list="productContents"/>
>> +                        <set field="productContent.purchaseFromDate" from-field="nowTimestamp"/>
>> +                        <set field="productContent.enable" value="N"/>
>> +                        <set field="productContent.thumbnail" value="N"/>
>> +                        <store-value value-field="productContent"/>
>> +                        <else>
>> +                            <entity-count entity-name="PartyContent" count-field="countApprove">
>> +                                 <condition-list combine="and">
>> +                                    <condition-expr field-name="contentId" operator="equals" from-field="parameters.contentId"/>
>> +                                    <condition-expr field-name="partyContentTypeId" operator="equals" value="IMAGEAPPROVER"/>
>> +                                    <condition-expr field-name="statusId" operator="equals" value="IM_APPROVED"/>
>> +                                </condition-list>
>> +                            </entity-count>
>> +                            <if-compare field="countApprove" operator="greater-equals" value="2">
>> +                                <entity-one entity-name="Content" value-field="content"/>
>> +                                <set field="content.statusId" value="IM_APPROVED"/>
>> +                                <store-value value-field="content"/>
>> +
>> +                                <entity-and entity-name="ProductContent" list="productContents">
>> +                                    <field-map field-name="contentId" from-field="parameters.contentId"/>
>> +                                    <field-map field-name="productContentTypeId" value="IMAGE"/>
>> +                                </entity-and>
>> +                                <first-from-list entry="productContent" list="productContents"/>
>> +                                <set field="productContent.purchaseFromDate" from-field="nowTimestamp"/>
>> +                                <set field="productContent.enable" value="N"/>
>> +                                <set field="productContent.thumbnail" value="N"/>
>> +                                <store-value value-field="productContent"/>
>> +
>> +                                <entity-condition entity-name="PartyContent" list="checkApproveList">
>> +                                    <condition-list combine="and">
>> +                                        <condition-expr field-name="contentId" operator="equals"
>> from-field="parameters.contentId"/>
>> +                                        <condition-expr field-name="partyContentTypeId" operator="equals"
>> value="IMAGEAPPROVER"/> +                                    </condition-list>
>> +                                </entity-condition>
>> +                                <iterate entry="checkApprove" list="checkApproveList">
>> +                                    <set field="checkApprove.statusId" value="IM_APPROVED"/>
>> +                                    <store-value value-field="checkApprove"/>
>> +                                </iterate>
>> +                            </if-compare>
>> +                        </else>
>> +                    </if-compare>
>> +                </if-compare>
>> +            </else>
>> +        </if-compare>
>> +    </simple-method>
>> +
>> +    <simple-method method-name="addRejectedReasonImageManagement" short-description="Add Rejected Reason Image Management">
>> +        <now-timestamp field="nowTimestam"/>
>> +        <entity-one entity-name="Content" value-field="content"/>
>> +        <if-not-empty field="parameters.description">
>> +            <if-compare field="parameters.description" value="RETAKE_PHOTO" operator="equals">
>> +                <set field="content.description" value="Re-take Photo"/>
>> +            </if-compare>
>> +            <if-compare field="parameters.description" value="REMOVE_LOGO" operator="equals">
>> +                <set field="content.description" value="Remove Logo"/>
>> +            </if-compare>
>> +            <if-compare field="parameters.description" value="OTHER" operator="equals">
>> +                <set field="content.description" value="Other"/>
>> +            </if-compare>
>> +            <else>
>> +                <set field="content.description" value="Other"/>
>> +            </else>
>> +        </if-not-empty>
>> +        <store-value value-field="content"/>
>> +
>> +        <entity-and entity-name="ProductContent" list="productContents">
>> +            <field-map field-name="contentId" from-field="parameters.contentId"/>
>> +            <field-map field-name="productContentTypeId" value="IMAGE"/>
>> +        </entity-and>
>> +        <first-from-list entry="productContent" list="productContents"/>
>> +        <set field="productContent.thruDate" from-field="nowTimestam"/>
>> +        <store-value value-field="productContent"/>
>> +    </simple-method>
>> +
>> +    <simple-method method-name="createImagePartyContent" short-description="Create Party Content of Image">
>> +        <now-timestamp field="nowTimestam"/>
>> +        <entity-and entity-name="PartyRole" list="partyRoles">
>> +            <field-map field-name="roleTypeId" value="IMAGEAPPROVER"/>
>> +        </entity-and>
>> +        <iterate list="partyRoles" entry="partyRole">
>> +            <set field="partyContent.partyId" from-field="partyRole.partyId"/>
>> +            <set field="partyContent.contentId" from-field="parameters.contentId"/>
>> +            <set field="partyContent.partyContentTypeId" value="IMAGEAPPROVER"/>
>> +            <set field="partyContent.fromDate" from-field="nowTimestam"/>
>> +            <set field="partyContent.statusId" value="IM_PENDING"/>
>> +            <call-service service-name="createPartyContent" in-map-name="partyContent"/>
>> +        </iterate>
>> +    </simple-method>
>> +
>> +    <simple-method method-name="removeImagePartyContent" short-description="Remove Party Content of Image">
>> +        <entity-and entity-name="PartyContent" list="partyContents">
>> +            <field-map field-name="partyId" from-field="parameters.partyId"/>
>> +            <field-map field-name="partyContentTypeId" value="IMAGEAPPROVER"/>
>> +        </entity-and>
>> +        <iterate list="partyContents" entry="partyContent">
>> +            <remove-value value-field="partyContent"/>
>> +        </iterate>
>> +    </simple-method>
>> +</simple-methods>
>>
>> Modified: ofbiz/trunk/applications/product/servicedef/secas.xml
>> URL:
>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/secas.xml?rev=1052521&r1=1052520&r2=1052521&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/product/servicedef/secas.xml (original)
>> +++ ofbiz/trunk/applications/product/servicedef/secas.xml Fri Dec 24 15:22:49 2010
>> @@ -128,5 +128,11 @@ under the License.
>>     <eca service="receiveInventoryProduct" event="commit">
>>         <action service="updateProductAverageCostOnReceiveInventory" mode="sync"/>
>>     </eca>
>> +
>> +    <!-- Remove party content of image  -->
>> +    <eca service="deletePartyRole" event="commit">
>> +        <condition field-name="roleTypeId" operator="equals" value="IMAGEAPPROVER"/>
>> +        <action service="removeImagePartyContent" mode="sync"/>
>> +    </eca>
>>
>> </service-eca>