Содержание
Создание нового проекта¶
Предварительные требования¶
- JDK 1.8
- Maven версии 3.3.x
- Python 2.7 необходим для сборки административного интерфейса ηCMS
- Linux или Windows
Примечание
Вы можете использовать ηCMS под Windows однако тест кейсы ηCMS 1.0 предназначены для работы только на Unix-подобных платформах. ηCMS 1.0 в продакшен режиме рекомендуется использовать только на Linux
Использование Maven Archetype¶
Лучший способ создать новый проект на базе ηCMS - это создать его из maven архетипа (maven archetype).
mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -U \
-DarchetypeGroupId=softmotions \
-DarchetypeArtifactId=ncms-site-archetype \
-DarchetypeVersion=1.2-SNAPSHOT \
-DarchetypeRepository=https://repo.softmotions.com/repository/softmotions-public
В качестве альтернативы можно выполнить более короткую команду:
mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \
-DarchetypeCatalog=https://softmotions.com/rs/media/public/1542/archetype-catalog.xml
Продемострируем создание и дальнейшее развитие ηCMS проекта на примере создания информационного сайта о попугаях. Код сайта будет в пакете org.myparrots.
$: mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -U \
> -DarchetypeGroupId=softmotions \
> -DarchetypeArtifactId=ncms-site-archetype \
> -DarchetypeVersion=1.2-SNAPSHOT \
> -DarchetypeRepository=https://repo.softmotions.com/repository/softmotions-public
[INFO] Scanning for projects...
....
Define value for property 'groupId': org.example: : org.myparrots
Define value for property 'artifactId': ncmsapp: : ncmsapp
Define value for property 'version': 1.0-SNAPSHOT: :
Define value for property 'package': org.example: : org.myparrots
Define value for property 'projectName': My ηCMS Project: : All about my parrots
Define value for property 'serverPort': 8080: : 9292
Confirm properties configuration:
groupId: org.myparrots
artifactId: ncmsapp
version: 1.0-SNAPSHOT
package: org.myparrots
projectName: All about my parrots
serverPort: 9292
Структура проекта¶
В результате выполнения mvn archetype:generate мы получили проект со следующей структурой:
ncmsapp
│
├── qx/
│ ├── src/
│ └── pom.xml
├── tomcat/
│ ├── context.xml
│ └── server.xml
├── web/
│ ├── src/
│ └── pom.xml
├── pom.xml
└── README.md
Где:
- qx - административный GUI интерфейс сайта, построенный на основе javascript библиотеки qooxdoo
- web - бизнес логика сайтов на стороне сервера
- tomcat - файлы конфигурации сервера Apache Tomcat для запуска сервера
- в режиме тестирования
Выбор и настройка соединения с БД¶
Перед тем, как запустить систему в конфигурации проекта, необходимо настроить параметры соединения с базой данных.
В версии ηCMS 1.0 поддерживаются следующие базы данных:
Параметры соединения приложения с базой данных, как и другие параметры приложения, определяются в файлах конфигурации. В данном проекте это файл: conf/ncmsapp-dev-configuration.xml.
<mybatis>
<bindDatasource>true</bindDatasource>
<config>com/softmotions/ncms/db/mybatis-config.xml</config>
<propsFile>{home}/.ncmsapp.ds</propsFile>
<!-- DB2 -->
<extra-properties>
JDBC.driver=com.ibm.db2.jcc.DB2Driver
</extra-properties>
<!-- Postgresql -->
<!--
<extra-properties>
JDBC.driver=org.postgresql.Driver
</extra-properties>
-->
<extra-mappers>
<mapper>
<!--<resource>extra_mybatis_mapper.xml</resource>-->
</mapper>
</extra-mappers>
</mybatis>
Дополнительные параметры соединения с БД определяются в файле {home}/.ncmsapp.ds, где {home} - домашняя директория пользователя, из-под которого запущен сервер ηCMS. Необходимо создать этот файл и заполнить его параметрами аналогично примеру:
cat ~/.ncmsapp.ds
Для DB2:
JDBC.url=jdbc:db2://127.0.0.1:50000/NCMS
JDBC.username=ncms
JDBC.password=*******
Для PostgreSQL:
JDBC.url=jdbc:postgresql://127.0.0.1:5432/ncms
JDBC.username=ncms
JDBC.password=*******
Сборка и запуск проекта¶
mvn clean verify && mvn -Pcargo.run
Интерфейс администратора будет доступен по адресу: http://localhost:<port>/adm/ Имя пользователя admin а пароль находтся в ресурсе: conf/ncmapp-users.xml
Новый ηCMS проект на Youtube¶
width: | 100% |
---|