Подготовка рабочего места для работы с Celesta для разработчиков решений

Материал из Course Orchestra
Перейти к: навигация, поиск
Внимание! Вы просматриваете документацию к Celesta 6.x. Документация по Celesta 7.x доступна на courseorchestra.github.io/celesta.

1. Справочник Celesta

1.1 Введение и основные понятия
1.2 Запуск и авто-обновление
1.3 Базовая настройка
1.4 Системные таблицы
1.5 CelestaSQL
1.6 CelestaDoc
1.7 Контексты сессии и вызова
1.8 Курсоры
1.9 BLOB-поля
1.10 Option-поля
1.11 Защита от потерянных обновлений
1.12 Метаданные Celesta
1.13 CelestaUnit

2. Celesta и базы данных

2.1 Особенности работы Celesta с поддерживаемыми типами СУБД
2.2 Проектирование базы данных Celesta в DBSchema

3. Создание решений с использованием Celesta для ShowCase

3.1 Программа обучения Celesta
3.2 Подготовка рабочего места для работы с Celesta
3.2.1 Для разработчиков платформы
3.2.2 Для разработчиков решений
3.3 Системные гранулы Celesta
3.3.1 common
3.3.1.1 Экспорт/импорт данных
3.3.1.2 Навигатор
3.3.1.3 Серии номеров
3.3.1.4 Иерархия Дьюи
3.3.1.5 Системные функции
3.3.1.6 Реестр настроек
3.3.1.7 Mailsender
3.3.1.8 Common.filter
3.3.2 common.api
3.3.4 security
3.3.3 lyra
3.4 Стандартные гранулы Celesta
3.4.1 dirusing
3.4.2 workflow
3.4.3 File repository
3.5 Отрисовка элементов Showcase при помощи Celesta
3.5.1 Конвертер XML-JSON
3.5.2 Навигатор (Navigator)
3.5.3 Информационная панель (Datapanel)
3.5.4 Серверное действие (Server activity)
3.5.5 Вебтекст (WebText)
3.5.6 Грид (Grid)
3.5.6.1 Панель инструментов (ToolBar)
3.5.7 XForms
3.5.7.1 Селекторы
3.5.7.2 Submission
3.5.7.3 Загрузка/Выгрузка файлов (Upload/Download)

5. Решение проблем

5.1 Проблемы с кодировкой jython-файлов

Для запуска решений на платформе Курс, требуется выполнение следующих действий:

  1. Установка JDK
  2. Установка Jython
  3. Установка одной из поддерживаемых баз данных
  4. Установка Subversion
  5. Настройка решения
  6. Настройка Tomcat
  7. Настройка IDE: IntellijIdea, Eclipse

Установка JDK

  1. Скачайте и установите JDK 1.8
  2. Пропишите JAVA_HOME в переменных среды:

JAVA HOME.png

Установка Jython

  1. Скачайте Инсталлятор Jython-а
  2. Откройте командную строку от имени администратора
  3. Перейдите в папку, в которой лежит скачанный файл
  4. Выполните команду:
    java -jar jython-installer-2.7.1b3.jar
    
  5. Пройдите процесс установки (редактируйте только путь установки, если требуется, остальные параметры изменять не нужно)

Настройка решения

  1. В базе данных (желательно postgres) создайте новую базу данных test_project
  2. Создайте директорию, в которой вы будете хранить свои решения (Например, projects)
  3. Создайте директорию projects/test_project
  4. Внутри этой папки нажмите правую кнопку мыши на свободном месте и выберите SVN
    Checkout sys.PNG
    В поле URL of repository - https://share.curs.ru/svn/grains/celestabasic/trunk/common.sys
  5. Введите свои данные от свн (рекомендуется поставить галочку Save authentication)
    Папку test_project в дальнейшем будем называть корнем юзердаты
  6. В корне юзердаты создайте директорию default, а в ней score
В default создайте файл app.properties
navigator.proc.name = common.navigator.standardNavigator.cl
welcome.source = none
header.source = none
header.height = 39px
footer.source = None
footer.height = 5px
# general
navigator.def.icon.name = group_icon_default.png
copy.userdata.on.startup = true
copy.userdata.dirs = js:css:resources
# dirs
navigator.icons.dir.name = resources
images.in.grid.dir = resources
index.title = Тестовый проект
internationalization.language=ru
В корне юзердаты создайте файл generalapp.properties
security.mellophoneurl = http://localhost:8080/mellophone
local.security.mellophoneurl = http://localhost:8080/mellophone
web.console.size=100
web.console.add.text.files = php:pl
id.casesensitive=false
jmx.enable=false

login.title = Тестовый проект

rdbms.connection.url=jdbc:postgresql://localhost:5432/test_project
rdbms.connection.username=db_user
rdbms.connection.password=db_pass
В корне юзердаты создайте файл grainsSettings.xml
<?xml version="1.0" encoding="UTF-8"?>
<grainSettings>
    <generalSettings>
    </generalSettings>
    <grains>
        <grain name="common">
            <navigator>
                <userdata name="default">
                    <group>numberSeries</group>
                    <group>securityNavigator</group>
                </userdata>
            </navigator>

        </grain>
        <grain name="security">
            <securitySettings>
                <parameter name="employeesGrain" value="nsi"></parameter>
                <parameter name="employeesTable" value="person"></parameter>
                <parameter name="employeesId" value="uid"></parameter>
                <parameter name="employeesName" value="fullname"></parameter>
                <parameter name="isSystemInitialised" value="false"></parameter>
                <parameter name="useAuthServer" value="false"></parameter>
                <parameter name="loginEqualSubject" value="true"></parameter>
            </securitySettings>
        </grain>
    </grains>
</grainSettings>

Настройка Tomcat

  1. Скачайте Tomcat 8 (core, zip-архив)
  2. Распакуйте архив
  3. Скачайте war-ники: Showcase и Mellophone
  4. Скопируйте их в tomcat/webapps
  5. Переименуйте их в showcase и mellophone соответственно
  6. Томкат при каждом запуске будет их перераспаковывать, поэтому, для ускорения загрузки, рекомендуется их распаковать в соответствующие директории, а сами war-файлы удалить
В корне директории томката создайте файл config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.curs.ru/authserver config.xsd" xmlns="http://www.curs.ru/authserver">

	<common>
		<threadcount>1</threadcount>
		<authsessions initialCapacity="10000" loadFactor="80" concurrencyLevel="128"/>
		<appsessions initialCapacity="10000" loadFactor="80" concurrencyLevel="128"/>
		<setsettingstoken>1234</setsettingstoken>
        <showtimetounlockuser>true</showtimetounlockuser>
		<lockouttime>5</lockouttime>
	</common>

	<sqlserver>
		<logging>true</logging>
		<url>jdbc:postgresql://localhost:5432/test_project</url>
		<connectionusername>db_user</connectionusername>
		<connectionpassword>db_password</connectionpassword>
		<table>security.logins</table>
		<fieldlogin>userName</fieldlogin>
		<fieldpassword>password</fieldpassword>
		<searchreturningattributes
		  SID="subjectId"
		  login="userName"
		/>
	</sqlserver>

</config>
В conf создайте файл Catalina/localhost/showcase.xml (регистр важен)
<?xml version='1.0' encoding='utf-8'?>
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Parameter name="showcase.rootpath.userdata" value="*путь к projects/test_project*" override="true"/>

</Context>
  1. Запустите bin/startup.bat
  2. После того, как в окне томката появится строка INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 00000 ms, откройте в браузере страницу http://localhost:8080/showcase/, если вы увидели окно входа в систему, значит сервер успешно запустился
  3. Чтобы войти в систему, первоначально надо создать пользователя, под которым вы будете заходить, для этого выполните в своей базе данных скрипт
insert into security.subjects values ('super', 'Администратор');
insert into security.logins values ('super', 'admin', 'master');
  1. Далее войдите в систему с учетными данными admin/master

Настройка IntellijIdea

  1. Скачайте InlellijIdea со страницы [1] и установите.
  2. В открывшемся окне нажмите Open и выберите папку со своим проектом (test_project)
  3. Перейдите в настройки Idea (File/Settings) в пункт Plugins и установите плагин Python
  4. Для завершения установки плагина перезапустите IDEA
  5. После перезапуска IDEA найдет Python Framework: Нажмите Configure/OK
  6. Перейдите в настройки проекта (File/Project Structure)
  7. В пункте SDKs добавьте две SDK - Jython и Java(jython должен ссылаться на файл jython.exe, а java - на корневую папку, в которую установлена java)

Jython sdk.png

В project sdk укажите jdk

Conf project.png

Conf modules python.PNG

На вкладке Modules отметьте все score папки как Sources; css, js, html - как Resources.

Modules.PNG

Перейдите в пункт Global Libraries

Добавьте библиотеки шоукейса и челесты