AEM - Adobe CMS 扒坑记之始
AEM是Adobe公司所出的商业内容管理系统,全称阿豆比体验管理系统(Adobe Experience Manager),其前身叫CQ,分别有CQ5
CQ6
两个大版本。它提供了整套的网站内容管理系统解决方案,是一个企业级的重型系统。当然,这套系统在中国几乎没什么人知晓。但在澳洲,这系统几乎在所有金融行业遍地开花了。
基于客户的发展战略,不可避免地开始了AEM
的扒坑之旅。不过,此前一直在扒Drupal
的坑,再扒一堆坑也无关紧要了。
AEM 技术栈
Apache Sling
Apache Sling
是一个以内容为中心的网络框架。其使用Java的内容仓库去存储与管理内容,比如Apache Jackrabbit
和 CRX
。
- 基于
REST
原则,以内容为导向进行开发- 与
CQ5
(或者说AEM5, 6
)天然集成- 用于处理
HTTP
的渲染与数据存储
的请求。这是一种新的方式,它将在后台将内容组装,渲染最终将其呈现给用户- 能将内容对象与处理数据的组成映射起来
- 支持服务端与
AJAX
请求- 支持多种脚本语言(比如,JSP, ESP, Ruby等)
- 注 http://incubator.apache.org/projects/sling.html 查看更多关于
Sling
的信息
OSGi (Apache Felix)
CQ5 内建了基于 OSGI R4 服务平台
(OSGi Service Platform Release 4) 的应用程序框架。
- 是一个针对
JAVA
的动态模块系统- 发展自通用中间键。很多第三方的组件可以以bundle的形式进行复用
- OSGI的bundle可以包含经编译后的JAVA代码,脚本,或者内容。这些均可根据需要将其加载到相应的仓库,或者对其进行配置等等。
获得软件
所有需要的,只是一个可独立执行的jar包。由于是商业软件,License是必须的。我们将其放到一个文件夹下,暂且命名为aem-install
吧。
关于目录下的 crx-quickstart
是当你启动后,自动生成的。里面包含了,你开发所需要的所有,包含所有的内容,以及配置等等。
准备
AEM 是一个基于JAVA
跨平台的系统,所以 OS X
, 桌面版 Windows
, Linux
肯定都可以支持啦。
唯一需要注意的是,AEM运行在JAVA 7
上。所以如果你是用的JAVA 8
,但却装有JAVA 7
的话,只需要切换一下JAVA_HOME
。将这条命令放在你的 .bashrc
或者.zshrc
source一下就搞定啦。
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
启动
好的,一准备工作就绪,那么我们就开始我们的正式启动。比如有趣的是,Adobe提供了两种方法供我们使用。
1. 控制台
不用说,作为一个职业代码人,我们还是比较喜欢这样的方式的。
java -Xmx1024M -jar cq-author-p4502.jar -p 4502 -r author
其中,以下两个参数是可省的,因为默认的参数就是 端口 4502,模式 author。当然,如果你的电脑足够强大,-Xmx1024M 也是可以省的。
-p
指的是工作端口-r
指的是启动模式。常见的模式有author
与publish
两种。当然还有其他的,用得不多就此略过罢
2. GUI 双击
当然,有时为了方便,也可以直接双击
cq-author-p4502.jar
启动。只是有几个需要注意的地方。
默认的情况,是以author
模式,启动在localhost:4502
。但我们可以在启动以前,通过修改jar包的名字,达到不同模式不同端口的效果。
cq-<instance-type>-p<port-number>.jar
比如,修改成
cq-author-p4502.jar
启动,这就达到了以author
模式启动,端口设置在 4502
的效果。
同理,修改成
cq-publish-p4503.jar
启动,就将以publish
的模式启动,端口是4503
。
理想的情况是,你需要同时启动两个instance
,只需要把jar包和license文件放在相应目录下就可以了。如:
<aem-install>/author
和
<aem-install>/publish
就绪
当AEM启动后,会自动打开浏览器定位到相应的页面。比如,我的是localhost:4502
。以admin:admin
登陆就可以开始正式的开发之路了。
小结
那么就此开始,我们已经扒完了AEM的第一坑了,AEM的填坑之路就正式开始了。接下来几篇,我将着重在开发之上,讲解一下AEM的整个开发流程。
AEM - Adobe CMS 扒坑记之始的更多相关文章
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
- Spark踩坑记——数据库(Hbase+Mysql)
[TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...
- .NET Core爬坑记 1.0 项目文件
前言: 之所以要写这个系列是因为在移植项目到ASP.NET Core平台的过程中,遇到了一些“新变化”,这些变化有编译方面的.有API方面的,今天要讲的是编译方面的一些问题.我把它们整理后分享出来,以 ...
- 【踩坑记】从HybridApp到ReactNative
前言 随着移动互联网的兴起,Webapp开始大行其道.大概在15年下半年的时候我接触到了HybridApp.因为当时还没毕业嘛,所以并不清楚自己未来的方向,所以就投入了HybridApp的怀抱. Hy ...
- Spark踩坑记——共享变量
[TOC] 前言 Spark踩坑记--初试 Spark踩坑记--数据库(Hbase+Mysql) Spark踩坑记--Spark Streaming+kafka应用及调优 在前面总结的几篇spark踩 ...
- Spark踩坑记——从RDD看集群调度
[TOC] 前言 在Spark的使用中,性能的调优配置过程中,查阅了很多资料,之前自己总结过两篇小博文Spark踩坑记--初试和Spark踩坑记--数据库(Hbase+Mysql),第一篇概况的归纳了 ...
- UiAutomator2.0升级填坑记
UiAutomator2.0升级填坑记 SkySeraph May. 28th 2017 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.sk ...
- 珍爱生命,远离JS=>JS避坑记
JavaScript避坑记 转载请注明源地址: http://www.cnblogs.com/funnyzpc/p/8407952.html 上图=> 有意思的漫画,不知大家看懂了没,这里我想说 ...
- 分布式改造剧集之Redis缓存采坑记
Redis缓存采坑记 前言 这个其实应该属于分布式改造剧集中的一集(第一集见前面博客:http://www.cnblogs.com/Kidezyq/p/8748961.html),本来按照顺序 ...
随机推荐
- javascript效果:手风琴、轮播图、图片滑动
最近都没有更,就来几个效果充实一下. 都没有进行美化这步. 手风琴: 纯css: <!DOCTYPE html> <html lang="en"> < ...
- 转:LAV Filter 源代码分析
1: 总体结构 LAV Filter 是一款视频分离和解码软件,他的分离器封装了FFMPEG中的libavformat,解码器则封装了FFMPEG中的libavcodec.它支持十分广泛的视音频格式. ...
- 3D碰撞检测
为了确保任何区域的空间不被多于1个物体占用,我们需要基于物体间的空间信息来做碰撞检测. 碰撞检测中重要的事情是有大量的测试,因此需要理由GPU资源. 例如:如果我们有n个物体,一个物体将会碰撞n-1个 ...
- delphi使用outputdebugstring调试程序和写系统日志
delphi使用outputdebugstring调试程序和写系统日志 procedure TForm1.btn1Click(Sender: TObject); begin OutputDebugSt ...
- 安装redis监控
在修改登录中心的时候,数据存储在redis里面,需要对redis进行监控,使用的是Redis-Live 参考文章: http://www.nkrode.com/article/real-time-da ...
- 搞了个基于zookeeper的Leader/Follower切换Demo
基于zookeeper写了个Leader选举类库demo,场景如下: 上图中的Program1..4可以部署在1台server上,也可以部署在多台server上,也可以是一个进程中的多个线程. 运行效 ...
- 新安装的VS的一些设置
古语云:工欲善其事必先利其器 为了方便我们开发,应该设置好VS的一些配置,安装一些辅助插件 1 设置字体和背景等 设置字体为 console 10大小 背景设为护眼颜色 85 90 205 这三个值 ...
- Django 源码小剖: 初探中间件(middleware)
因为考虑到文章的长度, 所以 BaseHandler 的展开被推迟了. 在 BaseHandler 中隐藏着中间件的信息, 较常见的 SessionMiddleware 就已经默认安装. BaseH ...
- WP-PostViews的安装和设置方法
wordpress本身并没有文章浏览统计功能,必须借助插件.想要知道自己的文章被多数访客浏览,或者访客对哪些文章或者哪类文章更加有兴趣,这就是文章统计的重要性了.WP-PostViews插件是哥不错的 ...
- Windows调试学习笔记:(一)WinDBG中加载SOS和CLR
最近产品环境出现了部分服务器当机情况,虽然重启之后问题就不出现了.但本着彻底解决问题的态度,想要找到root cause.多次尝试Visual Studio失败(可能是代码惊醒了优化和签名)之后,决定 ...