- SAP CRM WebClient UI和Hybris CommerceUI tag的渲染逻辑
JerryWang_汪子熙
既然一个是BSP,一个是JSP,当然有很多相通之处了。CRMWebUI每个应用的入口都是search,为了避免applicationdeveloper重复造轮子,SAPWebUI的框架开发人员把搜索的逻辑实现在了tagadvancedSearch里,这样SAP的应用开发人员就可以直接使用这个tag来实现搜索功能。双击tag,可以看到实现的class和对应方法。Hybrisjsp有类似的逻辑。看js
- 使用Hybris Commerce API返回当前客户持有的所有优惠券
JerryWang_汪子熙
在HybriscommerceAPI的swagger说明网站上找到了这个Coupon读取API的技术说明:当前客户持有一个名叫JerryTestCoupon的优惠券:在postman里发送请求:https://:9002/rest/v2/electronics/my-account/coupons?currentPage=0&pageSize=10得到响应:要获取更多Jerry的原创文章,请关注公
- 调用Hybris API时遇到的错误消息Cannot find user with uid如何解决
JerryWang_汪子熙
今天工作中试图调用CommerceCloud的usercreationAPI用代码创建Hybris用户时,遇到下面这个错误消息。我觉得很奇怪,因为backoffice里能查到这个id为jerryclient的oauthclient,可错误信息为啥说找不到?仔细查看,发现我给这个client分配的权限角色如下:ROLE_CUSTOMERSUPPORTAGENTGROUP和ROLE_CUSTOMERG
- Hybris Storefront里产品图片显示不出来的分析方法
JerryWang_汪子熙
在HybrisBackoffice里新建一个product,维护了一些图片信息,然而在Storefront上进行搜索时,无论结果列表,还是产品明细页面里,都没有对应的图片可以显示。我的排查方法是,在Storefront里找一个图片显示正常的产品,再到Backoffice里把这个产品搜索出来,查看它的图片设置是怎么做的,然后依葫芦画瓢。如图,这是一个正确的产品图片维护方法,可以看到,首先在字段Gal
- SAP CRM和Hybris Commerce里关于价格折扣的一些配置
JerryWang_汪子熙
最近Jerry做了一个和价格折扣相关的原型项目,把学到的知识记录下来,以备将来查阅。在这个原型项目里,我们用React-Native开发了一个移动应用,用户可以在手机上浏览SAPHybrisCommerce里的产品,然后下单。假设Jerry购买成功后,在朋友圈分享一张包含自己个人信息的二维码。Jerry的好友扫描二维码之后,到HybrisCommerce里下单购买同样的产品之后,Jerry就会收到
- 使用Hybris Commerce User API读取用户信息时,电话字段没有返回
JerryWang_汪子熙
在使用HybrisCommerceUserAPI读取一个user信息时,我遇到一个问题,在API返回的结构里没有包含期望看到的Phone字段。仔细观察Swagger里对response结构的说明,发现phone字段是隶属于Address这个DTO(DataTransformationObject)的:因此,我们进入Backoffice,找到user的address维护部分,这个defaultshi
- SAP hybris 快速入门
你家门口的两朵云
SAPCommerce123快速入门一、开始之前1.准备工作您需要满足以下条件才能使用SAPCommerce123:Java11JDKApacheMavenGitChromewebbrowser注意:SAPCommerce123使用Selenium来运行自动化测试。完成这些之后打开cmd窗口,能正常显示配置即可开始下一步:C:\Users\Administrator>java-versionjav
- 如何在backoffice里创建Hybris image container以及分配给product
JerryWang_汪子熙
登录backoffice,在mediacontainer视图点击新建按钮:Catalog选择ProductCatalog:在Properties界面,可以选择media实例放入该container:同步到onlinecatalog:同步之后,就可以把这个mediacontainer分配给product了:在product的Administration标签页,Galleryimages字段里分配me
- SAP Hybris(Commerce)安装recipe包含的三个任务,setup, initialize和start
JerryWang_汪子熙
(1)Setup=Invokedbydefaultifnotaskisspecifiedwithinstallcommand.Itinstallsrecipe&copiesfiles.(2)Initialize=Initializestherecipesapplication.(3)Start=Starttheapplication.https://www.novusedu.com/wp-cont
- Configuring Data Hub Adapter
炼心之旅
hybris中安装并配置DataHubAdapter在/config/localextensions.xml中添加DataHubAdapter的扩展应用***添加之后,不需要执行update,但是需要执行antcleanall***在local.properties属性配置文件中添加DataHub属性#ThebaseURLoftheDataHubinstancedatahubadapter.dat
- Libhybris之线程局部存储TLS实例(五)
Android系统攻城狮
Libhybris学习libhybrisTLS线程局部存储
简介:CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!优质专栏:Audio工程师进阶系列【原创干货持续更新中……】人生格言:人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.更多原创,欢迎关注:Android系统攻城狮1.前言本篇目的:理解线程局部存储TLS介绍.2.线程局部存储TLS介绍在Linux,TLS(ThreadLo
- SAP Hybris Backoffice site 里 Require Authentication 字段的作用
“SAPCommerceCloudBackoffice”是一个用于管理和维护电子商务网站的强大工具,允许管理员和运营团队轻松地管理网站内容和配置。在Backoffice的WCMS(WebContentManagementSystem)部分,管理员可以创建、编辑和管理网站上的内容。在WCMS的Administration面板中,有一个字段称为RequiresAuthentication,允许您选择T
- 使用RestTemplate消费Hybris User API获取指定用户的信息
JerryWang_汪子熙
假设我用HybrisAPI调用的方式,返回Backoffice里维护的这个用户的全部信息:使用下面这段代码:publicstaticvoidgetUserInfo(){StringresponseStr=null;RestTemplatetemplate=newRestTemplate();try{Stringtoken="48a42ca3-b73a-4640-b690-1c393c0003ea"
- Hybris Password Security Policy实现
cyclone_mi
最近项目中客户有对Backoffice用户的修改密码的复杂度的需求,本以为产品并未有原生支持,搜索过后才发现,Hybris已经为我们提供了一套比较完整的,非常容易扩展的对密码复杂度的支持模块,只是默认并未打开此配置。实现总体来说,Hybris对于密码复杂度的主要接口有PasswordPolicyService,PasswordPolicy以及PasswordPolicyService的默认实现De
- 根据语言不同更改日期显示格式
喻文波和史森明
中文网站日期显示格式为yyyy/mm/dd,按照英文网站显示习惯应为mm/dd/yyyyjsp已有代码:既存的表现形式是年/月/日。要求换成英文网站时,更改日期形式。初步想法是在jsp中取当前页面的语言进行判断,用于更改日期表示格式Hybris有一个既存的类UiThemeResourceBeforeViewHandler专门在生成页面之前调用,里面存储着共通的东西,方便实用,恰巧当前语言已经准备好
- SAP Hybris recipe 为 cx 的安装和初始化
JerryWang_汪子熙
一个正在使用的系统:Hybris文件夹下的子文件夹一个刚刚下载的Hybris:Hybris下面只有一个bin文件夹。在一个干净的d93Moon试试cx./install.sh-rcx-for-spa./install.sh-rcx-for-spainitialize./install.sh-rcx-for-spastart注意,我没有尝试antcleanall和antinitialize第一步:这
- SAP Hybris Commerce里的数据库表
在Hybrisstorefront注册一个帐号:成功之后能在backoffice里看到成功生成的customer,里面的CustomerID是自动生成的,类似ABAP里的uuid.在console里使用flexiblequery试图去查询该customer:查询到一条记录:该记录的uuid和backoffice里看到的一致:查看flexiblequery对应的SQL语句,发现selectfrom里
- SAP Hybris Revenue Cloud 和 SAP Subscription Billing 这两个产品的关联
SAPHybrisRevenueCloud(前称SAPHybrisBilling)和SAPSubscriptionBilling是两个紧密相关且有一定历史演变关系的产品。它们都属于SAP公司的商业套件,用于帮助企业管理订阅业务、收入管理以及订阅式收费模型。本文将详细介绍这两个产品的关联,以及它们各自的功能和特点。SAPHybrisRevenueCloudSAPHybrisRevenueCloud是
- SAP Commerce开发之如何找到某个页面对应的JSP实现页面
JerryWang_汪子熙
ForexampleherebelowistheproductdetailpageofHybrisStorefront.TherequirementistofigureoutwhichJSPpagehasimplementedthisUI.InsomeotherSAPproductitisquitestraightforwardtoachieve.ForexampleinCRMWebClientU
- SAP Hybris的build callback和SAP ABAP的SGEN事务码
这个issueAIMinCRMandC4C里介绍了C4C和CRM的Afterimportmechanism.在Hybris里,客户把2个G的Hybris安装包下载下来,然后在命令行里运行命令安装,实际上就是用ant的build命令。为什么要执行build:ThereasonswhyyouneedtobuildSAPHybrisCommerceareasfollows:(1)SAPHybrisCom
- 什么是 Spartacus Custom Config initializer?
SAPSpartacus是一个用现代Web技术(如Angular、TypeScript和Node.js)构建的开源店面,用于SAPCommerceCloud(以前称为SAPHybris),它提供了一组功能和组件,可用于构建响应式和可扩展的电子商务应用程序。SAPSpartacusCustomConfiginitializer是一个配置实用程序,它允许开发人员通过提供一组配置选项来自定义Sparta
- SAP Hybris Discount group,折扣组,折扣记录,用户组几组概念的关联
在backoffice的PriceSettings->Discount->CustomerDiscountGroups菜单下面,创建一个新的CustomerDiscountGroup,这只是一个placeholder,用来存放随后创建的具体折扣信息:到Discount里维护一条折扣记录,打折20%,id为jerrydiscount_20:还需要一条路及关系把DiscountGroup和Discou
- SAP 电商云 SolrIndexNotFoundException 异常 - 做 full indexing 的详细位置
Console看到消息:NoActiveindexfound,FULLindexeroperationmustbeperformedbeforeanyotheroperationCausedby:de.hybris.platform.solrfacetsearch.solr.exceptions.SolrIndexNotFoundException:de.hybris.platform.servi
- 什么是 SAP Commerce Cloud 的 catalog
hybris的目录实际上是业务元素的集合。因此,Catalog可以看作是商品的容器,这些产品在SAPCommerceCloud里是可销售的实体(产品),最终用户可以针对这些实体进行交易。目录不仅限于项目列表,还包括基于这些项目不同的排列方式。举个例子,如果你去美食餐厅,你可以参考他们的菜单(这实际上是一个通用目录,即所谓的Generalizedcatalog)。你会注意到,不同的餐厅虽然提供相同的
- SAP Commerce Cloud Backoffice CMS 里的内容一览
Websiteid为electronics-spa,site属性:basestoreiddefaultcatalog分配的theme和channel:B2CorB2B这个contentcatalog和开头的defaultcatalogID都不一样:site的初始页面是Homepage:urlpattern:sitemapconfiguration:Metadata:CMSSite可以在Hybris
- ABAP的OPEN SQL和Hybris Commerce的Flexible Search简介
在ABAP应用里,我们applicationdeveloper用OpenSQL访问database,这些OpenSQL会被Databaseinterface转换成databaseproviderspecific的SQL然后执行。CRM和C4C里还支持enterprisesearch/simplesearch,实现原理实际上是applicationcall一个RFC到TREXserver上拿到查询结
- help.hybris.com和help.sap.com网站的搜索实现
JerryWang_汪子熙
help.hybris.com我使用help.hybris.com时,发现每次在搜索栏输入文字时,没有发出任何HTTP请求,那么这个自动完成的下拉框里的记录从哪里来的?我看了下实现,发现所有自动完成下拉框里的记录都是硬编码在searchsuggestion.js里:Hybrishelp网站只用了bootstrap框架:help.sap.com在搜索框里输入字符后,会发起HTTP请求,通过AJAX取
- 使用Excel消费C4C的OData service
JerryWang_汪子熙
步骤比较简单,打开Excel的标签Data->FromOtherSources->FromODataDataFeed:输入如下url:https://.c4c.saphybriscloud.cn/sap/byd/odata/v1/c4codata/选择AccountCollection:这个例子我把C4C系统里所有的account都下载并显示在Excel里:
- 主数据同步
cyclone_mi
SkuhybrisSkuSynCronJob调用tempSkuImportCronJob(Notrigger)临时表:ERPSkuTemp检查结果:1.对比如下SQL结果:SELECTcount(1)FROM{ERPSkuTemp}SELECTcount(1)FROM{Product}WHERE{code}IN({{SELECT{skuNumber}FROM{ERPSkuTemp}}})检查Cro
- Hybris Commerce远端仓库管理
清风勿雨
在构建git仓库时需要设置合适的gitignore来使得只提交核心变更,其他动态生成的变更保存在本地就可以:gitignore地址及解释:gitignore文件介绍
- web报表工具FineReport常见的数据集报错错误代码和解释
老A不折腾
web报表finereport代码可视化工具
在使用finereport制作报表,若预览发生错误,很多朋友便手忙脚乱不知所措了,其实没什么,只要看懂报错代码和含义,可以很快的排除错误,这里我就分享一下finereport的数据集报错错误代码和解释,如果有说的不准确的地方,也请各位小伙伴纠正一下。
NS-war-remote=错误代码\:1117 压缩部署不支持远程设计
NS_LayerReport_MultiDs=错误代码
- Java的WeakReference与WeakHashMap
bylijinnan
java弱引用
首先看看 WeakReference
wiki 上 Weak reference 的一个例子:
public class ReferenceTest {
public static void main(String[] args) throws InterruptedException {
WeakReference r = new Wea
- Linux——(hostname)主机名与ip的映射
eksliang
linuxhostname
一、 什么是主机名
无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,所以又有了域名。域名只是在公网(INtERNET)中存在,每个域名都对应一个IP地址,但一个IP地址可有对应多个域名。域名类型 linuxsir.org 这样的;
主机名是用于什么的呢?
答:在一个局域网中,每台机器都有一个主
- oracle 常用技巧
18289753290
oracle常用技巧 ①复制表结构和数据 create table temp_clientloginUser as select distinct userid from tbusrtloginlog ②仅复制数据 如果表结构一样 insert into mytable select * &nb
- 使用c3p0数据库连接池时出现com.mchange.v2.resourcepool.TimeoutException
酷的飞上天空
exception
有一个线上环境使用的是c3p0数据库,为外部提供接口服务。最近访问压力增大后台tomcat的日志里面频繁出现
com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResou
- IT系统分析师如何学习大数据
蓝儿唯美
大数据
我是一名从事大数据项目的IT系统分析师。在深入这个项目前需要了解些什么呢?学习大数据的最佳方法就是先从了解信息系统是如何工作着手,尤其是数据库和基础设施。同样在开始前还需要了解大数据工具,如Cloudera、Hadoop、Spark、Hive、Pig、Flume、Sqoop与Mesos。系 统分析师需要明白如何组织、管理和保护数据。在市面上有几十款数据管理产品可以用于管理数据。你的大数据数据库可能
- spring学习——简介
a-john
spring
Spring是一个开源框架,是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只能由EJB完成的事情。然而Spring的用途不仅限于服务器端的开发,从简单性,可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。其主要特征是依赖注入、AOP、持久化、事务、SpringMVC以及Acegi Security
为了降低Java开发的复杂性,
- 自定义颜色的xml文件
aijuans
xml
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="white">#FFFFFF</color> <color name="black">#000000</color> &
- 运营到底是做什么的?
aoyouzi
运营到底是做什么的?
文章来源:夏叔叔(微信号:woshixiashushu),欢迎大家关注!很久没有动笔写点东西,近些日子,由于爱狗团产品上线,不断面试,经常会被问道一个问题。问:爱狗团的运营主要做什么?答:带着用户一起嗨。为什么是带着用户玩起来呢?究竟什么是运营?运营到底是做什么的?那么,我们先来回答一个更简单的问题——互联网公司对运营考核什么?以爱狗团为例,绝大部分的移动互联网公司,对运营部门的考核分为三块——用
- js面向对象类和对象
百合不是茶
js面向对象函数创建类和对象
接触js已经有几个月了,但是对js的面向对象的一些概念根本就是模糊的,js是一种面向对象的语言 但又不像java一样有class,js不是严格的面向对象语言 ,js在java web开发的地位和java不相上下 ,其中web的数据的反馈现在主流的使用json,json的语法和js的类和属性的创建相似
下面介绍一些js的类和对象的创建的技术
一:类和对
- web.xml之资源管理对象配置 resource-env-ref
bijian1013
javaweb.xmlservlet
resource-env-ref元素来指定对管理对象的servlet引用的声明,该对象与servlet环境中的资源相关联
<resource-env-ref>
<resource-env-ref-name>资源名</resource-env-ref-name>
<resource-env-ref-type>查找资源时返回的资源类
- Create a composite component with a custom namespace
sunjing
https://weblogs.java.net/blog/mriem/archive/2013/11/22/jsf-tip-45-create-composite-component-custom-namespace
When you developed a composite component the namespace you would be seeing would
- 【MongoDB学习笔记十二】Mongo副本集服务器角色之Arbiter
bit1129
mongodb
一、复本集为什么要加入Arbiter这个角色 回答这个问题,要从复本集的存活条件和Aribter服务器的特性两方面来说。 什么是Artiber? An arbiter does
not have a copy of data set and
cannot become a primary. Replica sets may have arbiters to add a
- Javascript开发笔记
白糖_
JavaScript
获取iframe内的元素
通常我们使用window.frames["frameId"].document.getElementById("divId").innerHTML这样的形式来获取iframe内的元素,这种写法在IE、safari、chrome下都是通过的,唯独在fireforx下不通过。其实jquery的contents方法提供了对if
- Web浏览器Chrome打开一段时间后,运行alert无效
bozch
Webchormealert无效
今天在开发的时候,突然间发现alert在chrome浏览器就没法弹出了,很是怪异。
试了试其他浏览器,发现都是没有问题的。
开始想以为是chorme浏览器有啥机制导致的,就开始尝试各种代码让alert出来。尝试结果是仍然没有显示出来。
这样开发的结果,如果客户在使用的时候没有提示,那会带来致命的体验。哎,没啥办法了 就关闭浏览器重启。
结果就好了,这也太怪异了。难道是cho
- 编程之美-高效地安排会议 图着色问题 贪心算法
bylijinnan
编程之美
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class GraphColoringProblem {
/**编程之美 高效地安排会议 图着色问题 贪心算法
* 假设要用很多个教室对一组
- 机器学习相关概念和开发工具
chenbowen00
算法matlab机器学习
基本概念:
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
开发工具
M
- [宇宙经济学]关于在太空建立永久定居点的可能性
comsci
经济
大家都知道,地球上的房地产都比较昂贵,而且土地证经常会因为新的政府的意志而变幻文本格式........
所以,在地球议会尚不具有在太空行使法律和权力的力量之前,我们外太阳系统的友好联盟可以考虑在地月系的某些引力平衡点上面,修建规模较大的定居点
- oracle 11g database control 证书错误
daizj
oracle证书错误oracle 11G 安装
oracle 11g database control 证书错误
win7 安装完oracle11后打开 Database control 后,会打开em管理页面,提示证书错误,点“继续浏览此网站”,还是会继续停留在证书错误页面
解决办法:
是 KB2661254 这个更新补丁引起的,它限制了 RSA 密钥位长度少于 1024 位的证书的使用。具体可以看微软官方公告:
- Java I/O之用FilenameFilter实现根据文件扩展名删除文件
游其是你
FilenameFilter
在Java中,你可以通过实现FilenameFilter类并重写accept(File dir, String name) 方法实现文件过滤功能。
在这个例子中,我们向你展示在“c:\\folder”路径下列出所有“.txt”格式的文件并删除。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
- C语言数组的简单以及一维数组的简单排序算法示例,二维数组简单示例
dcj3sjt126com
carray
# include <stdio.h>
int main(void)
{
int a[5] = {1, 2, 3, 4, 5};
//a 是数组的名字 5是表示数组元素的个数,并且这五个元素分别用a[0], a[1]...a[4]
int i;
for (i=0; i<5; ++i)
printf("%d\n",
- PRIMARY, INDEX, UNIQUE 这3种是一类 PRIMARY 主键。 就是 唯一 且 不能为空。 INDEX 索引,普通的 UNIQUE 唯一索引
dcj3sjt126com
primary
PRIMARY, INDEX, UNIQUE 这3种是一类PRIMARY 主键。 就是 唯一 且 不能为空。INDEX 索引,普通的UNIQUE 唯一索引。 不允许有重复。FULLTEXT 是全文索引,用于在一篇文章中,检索文本信息的。举个例子来说,比如你在为某商场做一个会员卡的系统。这个系统有一个会员表有下列字段:会员编号 INT会员姓名
- java集合辅助类 Collections、Arrays
shuizhaosi888
CollectionsArraysHashCode
Arrays、Collections
1 )数组集合之间转换
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
a)Arrays.asL
- Spring Security(10)——退出登录logout
234390216
logoutSpring Security退出登录logout-urlLogoutFilter
要实现退出登录的功能我们需要在http元素下定义logout元素,这样Spring Security将自动为我们添加用于处理退出登录的过滤器LogoutFilter到FilterChain。当我们指定了http元素的auto-config属性为true时logout定义是会自动配置的,此时我们默认退出登录的URL为“/j_spring_secu
- 透过源码学前端 之 Backbone 三 Model
逐行分析JS源代码
backbone源码分析js学习
Backbone 分析第三部分 Model
概述: Model 提供了数据存储,将数据以JSON的形式保存在 Model的 attributes里,
但重点功能在于其提供了一套功能强大,使用简单的存、取、删、改数据方法,并在不同的操作里加了相应的监听事件,
如每次修改添加里都会触发 change,这在据模型变动来修改视图时很常用,并且与collection建立了关联。
- SpringMVC源码总结(七)mvc:annotation-driven中的HttpMessageConverter
乒乓狂魔
springMVC
这一篇文章主要介绍下HttpMessageConverter整个注册过程包含自定义的HttpMessageConverter,然后对一些HttpMessageConverter进行具体介绍。
HttpMessageConverter接口介绍:
public interface HttpMessageConverter<T> {
/**
* Indicate
- 分布式基础知识和算法理论
bluky999
算法zookeeper分布式一致性哈希paxos
分布式基础知识和算法理论
BY
[email protected]
本文永久链接:http://nodex.iteye.com/blog/2103218
在大数据的背景下,不管是做存储,做搜索,做数据分析,或者做产品或服务本身,面向互联网和移动互联网用户,已经不可避免地要面对分布式环境。笔者在此收录一些分布式相关的基础知识和算法理论介绍,在完善自我知识体系的同
- Android Studio的.gitignore以及gitignore无效的解决
bell0901
androidgitignore
github上.gitignore模板合集,里面有各种.gitignore : https://github.com/github/gitignore
自己用的Android Studio下项目的.gitignore文件,对github上的android.gitignore添加了
# OSX files //mac os下 .DS_Store
- 成为高级程序员的10个步骤
tomcat_oracle
编程
What
软件工程师的职业生涯要历经以下几个阶段:初级、中级,最后才是高级。这篇文章主要是讲如何通过 10 个步骤助你成为一名高级软件工程师。
Why
得到更多的报酬!因为你的薪水会随着你水平的提高而增加
提升你的职业生涯。成为了高级软件工程师之后,就可以朝着架构师、团队负责人、CTO 等职位前进
历经更大的挑战。随着你的成长,各种影响力也会提高。
- mongdb在linux下的安装
xtuhcy
mongodblinux
一、查询linux版本号:
lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noa