我正在开发一个支持多租户的Symfony2解决方案,并想知道是否有办法为每个租户使用不同的翻译文件,因为目前的默认翻译文件包含例如对初始租户的公司名称的引用等.
我正在使用Liip主题套装(https://github.com/liip/LiipThemeBundle)允许租户使用我们的代码库,将自己的设计分层,但无法通过简单且可扩展的方式让他们使用他们的自己的翻译文件.
有关于此主题的关于捆绑git repo的讨论,但我不相信任何事情都被实现(https://github.com/liip/LiipThemeBundle/issues/12).理想情况下,我想遵循他们在该线程中建议的目录结构,例如
root
- app
- Resources
- themes
- <theme name>
- public
- translations (this would be new)
- views
Run Code Online (Sandbox Code Playgroud)
因为这将允许我们继续实践主题是一个自给自足的git子模块,租户可以自己维护.
在我的Symfony2项目的主布局页面中,我有CSS和JavaScript的资产块,如下所示:
{% block stylesheets %}
{% stylesheets
'bundles/my_bundle/css/main.css'
'bundles/my_bundle/css/additional.css'
'bundles/my_bundle/css/new.css'
filter='cssrewrite'
output='css/packed/layout_default.css'
%}
<link type="text/css" rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% endblock %}
{% block javascripts %}
{% javascripts
'bundles/my_bundle/js/main.js'
'bundles/my_bundle/js/additional.js'
'bundles/my_bundle/js/extra.js'
output='js/packed/layout_default.js'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
还有其他文件包含这些块,因为项目是启用多主题的.
最近(没有改变任何与资产相关的东西)我注意到了,当我这样做时
app/console assetic:dump
Run Code Online (Sandbox Code Playgroud)
该命令最初会停止大约10秒钟,就好像它正在重建缓存或其他东西,然后开始转储文件.正确转储所有.js文件,并从非默认主题中转储所有css文件.
但是,有时上面的块中的css文件没有被转储,我找到解决这个问题的唯一方法是编辑我的布局页面并删除样式表块中的一个css文件,运行dump命令,添加样式表回来,然后重新运行命令.执行此操作后,后续的assetic:转储正常运行,尽管仍处于初始暂停状态.
有没有人经历过类似的行为,或者有没有人有任何关于我可以进一步解决这个问题的指示?
我有一个表,用于跟踪高吞吐量站点上的用户操作,该表定义为(不相关字段等已删除):
CREATE EXTERNAL TABLE `actions`(
`uuid` string COMMENT 'from deserializer',
`action` string COMMENT 'from deserializer',
`user` struct<id:int,username:string,country:string,created_at:string> COMMENT 'from deserializer')
PARTITIONED BY (
`ingestdatetime` string)
ROW FORMAT SERDE
'org.openx.data.jsonserde.JsonSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
's3://<path_to_bucket>'
TBLPROPERTIES (
'transient_lastDdlTime'='1506104792')
Run Code Online (Sandbox Code Playgroud)
并希望向用户数据添加更多字段(例如level:int来跟踪用户执行操作时的级别)。
是否可以更改表定义以包含这些新属性,如果可以,是否可以在它们不在源数据文件中的情况下配置默认值?