details: https://code.openbravo.com/erp/devel/pi/rev/2fbae58b98c2 changeset: 13285:2fbae58b98c2 user: Antonio Moreno <antonio.moreno <at> openbravo.com> date: Tue Jul 26 15:47:44 2011 +0200 summary: [imageBLOB] Improved the color of the border and the background of the image control
details: https://code.openbravo.com/erp/devel/pi/rev/bae98e2df3fa changeset: 13286:bae98e2df3fa user: Antonio Moreno <antonio.moreno <at> openbravo.com> date: Tue Jul 26 15:57:57 2011 +0200 summary: [imageBLOB] Improved algorithm to calculate dimensions of image popup details: https://code.openbravo.com/erp/devel/pi/rev/cc03c38f8a61 changeset: 13287:cc03c38f8a61 user: Antonio Moreno <antonio.moreno <at> openbravo.com> date: Tue Jul 26 16:15:01 2011 +0200 summary: [imageBLOB] Added cursor attribute to image details: https://code.openbravo.com/erp/devel/pi/rev/3f2583bb1884 changeset: 13288:3f2583bb1884 user: Antonio Moreno <antonio.moreno <at> openbravo.com> date: Tue Jul 26 18:10:49 2011 +0200 summary: [imageBLOB] Fixed issue 18082. Image size and mime type will be saved and reused to increase performance. diffstat: modules/org.openbravo.client.application/src/org/openbravo/client/application/window/ImagesActionHandler.java | 29 +- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-image.js | 24 +- src-db/database/model/tables/AD_IMAGE.xml | 12 + src-db/database/sourcedata/AD_COLUMN.xml | 93 ++++++ src-db/database/sourcedata/AD_ELEMENT.xml | 33 ++ src/org/openbravo/erpCommon/info/ImageInfoBLOB.java | 11 +- src/org/openbravo/erpCommon/utility/ImageToDatabaseLoader.java | 4 + src/org/openbravo/erpCommon/utility/ShowImage.java | 14 +- src/org/openbravo/erpCommon/utility/ShowImageLogo.java | 22 +- src/org/openbravo/erpCommon/utility/Utility.java | 153 +++++++-- 10 files changed, 342 insertions(+), 53 deletions(-) diffs (truncated from 670 to 300 lines): diff -r 2bec31b391ad -r 3f2583bb1884 modules/org.openbravo.client.application/src/org/openbravo/client/application/window/ImagesActionHandler.java --- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/ImagesActionHandler.java Tue Jul 26 18:07:06 2011 +0200 +++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/ImagesActionHandler.java Tue Jul 26 18:10:49 2011 +0200 @@ -18,12 +18,8 @@ */ package org.openbravo.client.application.window; -import java.awt.image.BufferedImage; -import java.io.ByteArrayInputStream; import java.util.Map; -import javax.imageio.ImageIO; - import org.apache.log4j.Logger; import org.codehaus.jettison.json.JSONObject; import org.openbravo.base.model.Entity; @@ -32,6 +28,8 @@ import org.openbravo.client.kernel.BaseActionHandler; import org.openbravo.dal.core.OBContext; import org.openbravo.dal.service.OBDal; +import org.openbravo.erpCommon.utility.MimeTypeUtil; +import org.openbravo.erpCommon.utility.Utility; import org.openbravo.model.ad.datamodel.Table; import org.openbravo.model.ad.ui.Tab; import org.openbravo.model.ad.utility.Image; @@ -80,10 +78,25 @@ OBContext.setAdminMode(); String imageID = (String) parameters.get("inpimageId"); Image image = OBDal.getInstance().get(Image.class, imageID); - ByteArrayInputStream bis = new ByteArrayInputStream(image.getBindaryData()); - BufferedImage rImage = ImageIO.read(bis); - int width = rImage.getWidth(); - int height = rImage.getHeight(); + Long width; + Long height; + if (image.getHeight() == null || image.getWidth() == null) { + Long[] size = Utility.computeImageSize(image.getBindaryData()); + width = size[0]; + height = size[1]; + image.setWidth(width); + image.setHeight(height); + OBDal.getInstance().save(image); + OBDal.getInstance().flush(); + } else { + width = image.getWidth(); + height = image.getHeight(); + } + if (image.getMimetype() == null) { + image.setMimetype(MimeTypeUtil.getInstance().getMimeTypeName(image.getBindaryData())); + OBDal.getInstance().save(image); + OBDal.getInstance().flush(); + } JSONObject obj = new JSONObject(); obj.put("width", width); obj.put("height", height); diff -r 2bec31b391ad -r 3f2583bb1884 modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-image.js --- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-image.js Tue Jul 26 18:07:06 2011 +0200 +++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-image.js Tue Jul 26 18:10:49 2011 +0200 @@ -44,8 +44,9 @@ var imageLayout = isc.HLayout.create({ width:'100%', height: '100%', - border: '1px solid #C0C0C0', + border: '1px solid #CDD7BB', align: 'center', + cursor: 'pointer', defaultLayoutAlign: 'center', imageItem: this.creator, click: function(){ @@ -58,13 +59,17 @@ command: 'GETSIZE' }; OB.RemoteCallManager.call('org.openbravo.client.application.window.ImagesActionHandler', {}, d, function(response, data, request){ - var height = data.height+20; - var width = data.width+20; - if(height > Page.getHeight()-100){ - height = Page.getHeight()-100; - } - if(width > Page.getWidth()-100){ - width = Page.getWidth()-100; + var pageHeight = Page.getHeight()-100; + var pageWidth = Page.getWidth()-100; + var height; + var width; + var ratio = data.width/data.height; + if(ratio>pageWidth/pageHeight){ + width = data.width>pageWidth?pageWidth:data.width; + height = width/ratio; + }else{ + height = data.height>pageHeight?pageHeight:data.height; + width = height*ratio; } var imagePopup = isc.OBPopup.create({ height: height, @@ -87,11 +92,12 @@ if(this.creator.required){ imageLayout.setBackgroundColor('#FFFFCC'); }else{ - imageLayout.setBackgroundColor('#F0F0F0'); + imageLayout.setBackgroundColor('#F5F7F1'); } this.addMember(imageLayout); this.image=isc.Img.create({ width: '100%', + cursor: 'pointer', imageType: "stretch" }); imageLayout.addMember(this.image); diff -r 2bec31b391ad -r 3f2583bb1884 src-db/database/model/tables/AD_IMAGE.xml --- a/src-db/database/model/tables/AD_IMAGE.xml Tue Jul 26 18:07:06 2011 +0200 +++ b/src-db/database/model/tables/AD_IMAGE.xml Tue Jul 26 18:10:49 2011 +0200 @@ -45,6 +45,18 @@ <default/> <onCreateDefault/> </column> + <column name="WIDTH" primaryKey="false" required="false" type="DECIMAL" size="10,0" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> + <column name="HEIGHT" primaryKey="false" required="false" type="DECIMAL" size="10,0" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> + <column name="MIMETYPE" primaryKey="false" required="false" type="VARCHAR" size="255" autoIncrement="false"> + <default/> + <onCreateDefault/> + </column> <foreign-key foreignTable="AD_CLIENT" name="AD_IMAGE_AD_CLIENT"> <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/> </foreign-key> diff -r 2bec31b391ad -r 3f2583bb1884 src-db/database/sourcedata/AD_COLUMN.xml --- a/src-db/database/sourcedata/AD_COLUMN.xml Tue Jul 26 18:07:06 2011 +0200 +++ b/src-db/database/sourcedata/AD_COLUMN.xml Tue Jul 26 18:10:49 2011 +0200 @@ -209029,6 +209029,37 @@ <!--226F4EAA1F0311DEB6E25B68A38E8B87--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> <!--226F4EAA1F0311DEB6E25B68A38E8B87--></AD_COLUMN> +<!--22F473081EF94CBA872065254DBC8950--><AD_COLUMN> +<!--22F473081EF94CBA872065254DBC8950--> <AD_COLUMN_ID><![CDATA[22F473081EF94CBA872065254DBC8950]]></AD_COLUMN_ID> +<!--22F473081EF94CBA872065254DBC8950--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--22F473081EF94CBA872065254DBC8950--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--22F473081EF94CBA872065254DBC8950--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--22F473081EF94CBA872065254DBC8950--> <NAME><![CDATA[Height]]></NAME> +<!--22F473081EF94CBA872065254DBC8950--> <COLUMNNAME><![CDATA[Height]]></COLUMNNAME> +<!--22F473081EF94CBA872065254DBC8950--> <AD_TABLE_ID><![CDATA[461]]></AD_TABLE_ID> +<!--22F473081EF94CBA872065254DBC8950--> <AD_REFERENCE_ID><![CDATA[11]]></AD_REFERENCE_ID> +<!--22F473081EF94CBA872065254DBC8950--> <FIELDLENGTH><![CDATA[12]]></FIELDLENGTH> +<!--22F473081EF94CBA872065254DBC8950--> <ISKEY><![CDATA[N]]></ISKEY> +<!--22F473081EF94CBA872065254DBC8950--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--22F473081EF94CBA872065254DBC8950--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--22F473081EF94CBA872065254DBC8950--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--22F473081EF94CBA872065254DBC8950--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--22F473081EF94CBA872065254DBC8950--> <SEQNO><![CDATA[21]]></SEQNO> +<!--22F473081EF94CBA872065254DBC8950--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--22F473081EF94CBA872065254DBC8950--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--22F473081EF94CBA872065254DBC8950--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--22F473081EF94CBA872065254DBC8950--> <AD_ELEMENT_ID><![CDATA[13F4ADD5ED8E4FF2B039483283041FA5]]></AD_ELEMENT_ID> +<!--22F473081EF94CBA872065254DBC8950--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--22F473081EF94CBA872065254DBC8950--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--22F473081EF94CBA872065254DBC8950--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--22F473081EF94CBA872065254DBC8950--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--22F473081EF94CBA872065254DBC8950--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--22F473081EF94CBA872065254DBC8950--> <POSITION><![CDATA[13]]></POSITION> +<!--22F473081EF94CBA872065254DBC8950--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--22F473081EF94CBA872065254DBC8950--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--22F473081EF94CBA872065254DBC8950--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--22F473081EF94CBA872065254DBC8950--></AD_COLUMN> + <!--238C42071A00420CB1D20768DA8CF37D--><AD_COLUMN> <!--238C42071A00420CB1D20768DA8CF37D--> <AD_COLUMN_ID><![CDATA[238C42071A00420CB1D20768DA8CF37D]]></AD_COLUMN_ID> <!--238C42071A00420CB1D20768DA8CF37D--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -231788,6 +231819,37 @@ <!--739A9DDF905A8F87E040007F010123C7--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> <!--739A9DDF905A8F87E040007F010123C7--></AD_COLUMN> +<!--743916C18BFF4055A3DA351DD2F7F628--><AD_COLUMN> +<!--743916C18BFF4055A3DA351DD2F7F628--> <AD_COLUMN_ID><![CDATA[743916C18BFF4055A3DA351DD2F7F628]]></AD_COLUMN_ID> +<!--743916C18BFF4055A3DA351DD2F7F628--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--743916C18BFF4055A3DA351DD2F7F628--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--743916C18BFF4055A3DA351DD2F7F628--> <NAME><![CDATA[Width]]></NAME> +<!--743916C18BFF4055A3DA351DD2F7F628--> <COLUMNNAME><![CDATA[Width]]></COLUMNNAME> +<!--743916C18BFF4055A3DA351DD2F7F628--> <AD_TABLE_ID><![CDATA[461]]></AD_TABLE_ID> +<!--743916C18BFF4055A3DA351DD2F7F628--> <AD_REFERENCE_ID><![CDATA[11]]></AD_REFERENCE_ID> +<!--743916C18BFF4055A3DA351DD2F7F628--> <FIELDLENGTH><![CDATA[12]]></FIELDLENGTH> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISKEY><![CDATA[N]]></ISKEY> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--743916C18BFF4055A3DA351DD2F7F628--> <SEQNO><![CDATA[11]]></SEQNO> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--743916C18BFF4055A3DA351DD2F7F628--> <AD_ELEMENT_ID><![CDATA[3AB8D15AD3E644B7A02B568936DCFE81]]></AD_ELEMENT_ID> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--743916C18BFF4055A3DA351DD2F7F628--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--743916C18BFF4055A3DA351DD2F7F628--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--743916C18BFF4055A3DA351DD2F7F628--> <POSITION><![CDATA[12]]></POSITION> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--743916C18BFF4055A3DA351DD2F7F628--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--743916C18BFF4055A3DA351DD2F7F628--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--743916C18BFF4055A3DA351DD2F7F628--></AD_COLUMN> + <!--744D56EC1783443EA8499498121C551A--><AD_COLUMN> <!--744D56EC1783443EA8499498121C551A--> <AD_COLUMN_ID><![CDATA[744D56EC1783443EA8499498121C551A]]></AD_COLUMN_ID> <!--744D56EC1783443EA8499498121C551A--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -258676,6 +258738,37 @@ <!--D436A87CCB6611DDBF757B72CD9436D9--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> <!--D436A87CCB6611DDBF757B72CD9436D9--></AD_COLUMN> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--><AD_COLUMN> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <AD_COLUMN_ID><![CDATA[D44EC8E368A74AEA8AD7EFF13B1FBA6A]]></AD_COLUMN_ID> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <NAME><![CDATA[Mimetype]]></NAME> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <COLUMNNAME><![CDATA[Mimetype]]></COLUMNNAME> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <AD_TABLE_ID><![CDATA[461]]></AD_TABLE_ID> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <AD_REFERENCE_ID><![CDATA[10]]></AD_REFERENCE_ID> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <FIELDLENGTH><![CDATA[255]]></FIELDLENGTH> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISKEY><![CDATA[N]]></ISKEY> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <SEQNO><![CDATA[31]]></SEQNO> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <AD_ELEMENT_ID><![CDATA[8971717F183347B0834A2AEB218C5AFB]]></AD_ELEMENT_ID> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <POSITION><![CDATA[14]]></POSITION> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--D44EC8E368A74AEA8AD7EFF13B1FBA6A--></AD_COLUMN> + <!--D463F52ACB6611DD87FACF0742499ECD--><AD_COLUMN> <!--D463F52ACB6611DD87FACF0742499ECD--> <AD_COLUMN_ID><![CDATA[D463F52ACB6611DD87FACF0742499ECD]]></AD_COLUMN_ID> <!--D463F52ACB6611DD87FACF0742499ECD--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff -r 2bec31b391ad -r 3f2583bb1884 src-db/database/sourcedata/AD_ELEMENT.xml --- a/src-db/database/sourcedata/AD_ELEMENT.xml Tue Jul 26 18:07:06 2011 +0200 +++ b/src-db/database/sourcedata/AD_ELEMENT.xml Tue Jul 26 18:10:49 2011 +0200 @@ -19172,6 +19172,17 @@ <!--0DCA4840773E45198061B6F1E5F22841--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> <!--0DCA4840773E45198061B6F1E5F22841--></AD_ELEMENT> +<!--13F4ADD5ED8E4FF2B039483283041FA5--><AD_ELEMENT> +<!--13F4ADD5ED8E4FF2B039483283041FA5--> <AD_ELEMENT_ID><![CDATA[13F4ADD5ED8E4FF2B039483283041FA5]]></AD_ELEMENT_ID> +<!--13F4ADD5ED8E4FF2B039483283041FA5--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--13F4ADD5ED8E4FF2B039483283041FA5--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--13F4ADD5ED8E4FF2B039483283041FA5--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--13F4ADD5ED8E4FF2B039483283041FA5--> <COLUMNNAME><![CDATA[Height]]></COLUMNNAME> +<!--13F4ADD5ED8E4FF2B039483283041FA5--> <NAME><![CDATA[Height]]></NAME> +<!--13F4ADD5ED8E4FF2B039483283041FA5--> <PRINTNAME><![CDATA[Height]]></PRINTNAME> +<!--13F4ADD5ED8E4FF2B039483283041FA5--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--13F4ADD5ED8E4FF2B039483283041FA5--></AD_ELEMENT> + <!--14976679CF0542CDA192111320E142C5--><AD_ELEMENT> <!--14976679CF0542CDA192111320E142C5--> <AD_ELEMENT_ID><![CDATA[14976679CF0542CDA192111320E142C5]]></AD_ELEMENT_ID> <!--14976679CF0542CDA192111320E142C5--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -19361,6 +19372,17 @@ <!--3A29545A247A41CBB6ED3B5AA0CBF7CC--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> <!--3A29545A247A41CBB6ED3B5AA0CBF7CC--></AD_ELEMENT> +<!--3AB8D15AD3E644B7A02B568936DCFE81--><AD_ELEMENT> +<!--3AB8D15AD3E644B7A02B568936DCFE81--> <AD_ELEMENT_ID><![CDATA[3AB8D15AD3E644B7A02B568936DCFE81]]></AD_ELEMENT_ID> +<!--3AB8D15AD3E644B7A02B568936DCFE81--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--3AB8D15AD3E644B7A02B568936DCFE81--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--3AB8D15AD3E644B7A02B568936DCFE81--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--3AB8D15AD3E644B7A02B568936DCFE81--> <COLUMNNAME><![CDATA[Width]]></COLUMNNAME> +<!--3AB8D15AD3E644B7A02B568936DCFE81--> <NAME><![CDATA[Width]]></NAME> +<!--3AB8D15AD3E644B7A02B568936DCFE81--> <PRINTNAME><![CDATA[Width]]></PRINTNAME> +<!--3AB8D15AD3E644B7A02B568936DCFE81--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--3AB8D15AD3E644B7A02B568936DCFE81--></AD_ELEMENT> + <!--3B584D993CCF41B698DBE642AFC21AE4--><AD_ELEMENT> <!--3B584D993CCF41B698DBE642AFC21AE4--> <AD_ELEMENT_ID><![CDATA[3B584D993CCF41B698DBE642AFC21AE4]]></AD_ELEMENT_ID> <!--3B584D993CCF41B698DBE642AFC21AE4--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -23938,6 +23960,17 @@ <!--877E302527991536E040007F010060E9--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> <!--877E302527991536E040007F010060E9--></AD_ELEMENT> +<!--8971717F183347B0834A2AEB218C5AFB--><AD_ELEMENT> +<!--8971717F183347B0834A2AEB218C5AFB--> <AD_ELEMENT_ID><![CDATA[8971717F183347B0834A2AEB218C5AFB]]></AD_ELEMENT_ID> +<!--8971717F183347B0834A2AEB218C5AFB--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--8971717F183347B0834A2AEB218C5AFB--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--8971717F183347B0834A2AEB218C5AFB--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--8971717F183347B0834A2AEB218C5AFB--> <COLUMNNAME><![CDATA[Mimetype]]></COLUMNNAME> +<!--8971717F183347B0834A2AEB218C5AFB--> <NAME><![CDATA[Mimetype]]></NAME> +<!--8971717F183347B0834A2AEB218C5AFB--> <PRINTNAME><![CDATA[Mimetype]]></PRINTNAME> +<!--8971717F183347B0834A2AEB218C5AFB--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--8971717F183347B0834A2AEB218C5AFB--></AD_ELEMENT> ------------------------------------------------------------------------------ Magic Quadrant for Content-Aware Data Loss Prevention Research study explores the data loss prevention market. Includes in-depth analysis on the changes within the DLP market, and the criteria used to evaluate the strengths and weaknesses of these DLP solutions. http://www.accelacomm.com/jaw/sfnl/114/51385063/ _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits