Overview
The createproject
tool is designed to set up a new Attivio project's configuration according to best practices.
View incoming links.
Createproject
The createproject
tool creates a default set of configuration files that help in creating simple and repeatable project configurations. The modules available for install can be found here.
The tool sets up configuration files to manage all of the following aspects of system configuration:
- Multi-Node Topologies
- Tokenizer Registration
- Attivio Features
- Developing with Attivio
- Configure the Attivio Schema
- Workflow Configuration
- Starting and Stopping Attivio
The createproject
tool generates a configuration and project directory appropriate for execution on your local system. If you are modifying the project to run on multiple nodes, make sure the projectDir
setting in your topology-nodes.xml
file is adjusted correctly for the target nodes.
Creating a Project
The tool can be run on the command line as follows. If the --outputDirectory
/-o
parameter is specified, the directory must exist prior to the command being executed. The default value for -o
is the <INSTALL_DIR>/bin
directory.
<INSTALL_DIR>\bin\createproject.exe --name myProj -m module1 -m module2 -o c:\myAIEProjects
<INSTALL_DIR>/bin/createproject --name myProj -m module1 -m module2 -o ~/myAIEProjects
Attivio strongly recommends placing project directories (via the --outputDirectory
/
-o
flag) outside of the Attivio Platform installation directory tree. See Install vs. Project Directories for more guidance on this point.
For production environments, adding all files and directories under the project directory except for the top-level . aie
directory to source control is recommended. The .aie
directory stores transient state information used by the update
and deploy
CLI commands and does not need to be maintained in source control.
Creating Environmentally Aware Properties
When a project is created, Attivio creates an environments
directory containing a default sub-directory containing topology-nodes.xml
. To provide full environment support, Attivio lets you create multiple environment sub directories (one per environment). The top level properties directory are scanned for the .properties files that are properties for all environments. Thus you can have a topology in each environment directory, and you can also have an environment.properties
file for properties of that environment. For example :
project/ + bean + components + ... + properties + file1.properties + file2.properties + dir1 + file3.properties ... + environments + default - topology-nodes.xml - environment.properties + dev - topology-nodes.xml - environment.properties + prod - topology-nodes.xml - environment.properties
When determining which environment property files to use, the ConfigurationFactory only loads the environment.properties
for the current environment. Other ways to set properties for all environments:
- Specify a property with the
-D
option on the topology node. - Specify a property in
<project>.properties
If you have multiple environments setup in your configuration then you will need to start the aie-cli with a new -environment
/-e
argument. For example:
<INSTALL_DIR>/bin/aie-cli ... -environment default ...
Module Groups
Module groups are prepackaged sets of modules that serve common use cases. They can be specified on the command line using the -g
option. If no group is specified the default group is used. The module groups are as follows:
Group Name | Description | Included Modules |
---|---|---|
default | Default minimal set of modules used by most users of Attivio | adminui, advancedtextextraction, apisecurity, autocomplete, core-app, gwt-commons, keyphrases, languagemodel, memory, profiler, rest, scheduler, searchui , security In Attivio Platform 5.6.2 and later releases, this group also includes the connectoradmin module. |
demo | Showcases a wide variety of out-of-the-box Attivio functionality | All modules from default group, plus alm, businesscenter, createproject, documentstore, entityextraction, entitysentiment, morelikethis, opensearch, relevancy, searchanalytics, security-ui, sentiment, webcrawler |
Factbook demo requires factbook module!
The demo module group supports a demonstration of Attivio's capabilities against a specific body of client data. To build Attivio's Factbook demo project (for the Quick Start Tutorial), you need both the demo group and the factbook module. The factbook module adds the Factbook data and connectors to the project.
Adding a Module to an Existing Project
The createproject
tool's --incremental
/-i
flag can be used to add modules to an existing project. For example, to add a module named newModule3 to existing Attivio project myProj, just run createproject
again using the --incremental
flag:
Windows
<INSTALL_DIR>\bin\createproject.exe --name myProj -m newModule3 --incremental -o c:\myAIEProjects
Linux
<INSTALL_DIR>/bin/createproject --name myProj -m newModule3 --incremental -o /myAIEProjects
After running this command, all of newModule3's configurations will be merged into the project's existing configuration files.
If your project has already been deployed, then these configuration changes will need to be deployed to your configuration server. See the Command Line Interface Options in Starting and Stopping Attivio on how to deploy your configuration.
The createproject
tool will fail if you try to include a module in a project that already has it included.
Custom Classes and Incremental Module Addition
If your existing project contains references to custom AIE classes (scanners, transformers, etc.), the createproject --incremental
command will fail with a ClassNotFoundException
for one of these classes. As a workaround, you can copy all JAR libraries containing custom project classes into the <INSTALL_DIR>/lib-override
sub-directory before running the createproject --incremental
command; you can delete these JAR copies after the command completes.
List Modules
The
--listModules
/-l
createproject
flag will print a list of all available modules.
<INSTALL_DIR>/bin/createproject -l adminui advancedtextextraction alerts apisecurity autocomplete businesscenter crawlerstore ...
Eclipse Integration
All projects are automatically set up for integration with Eclipse. See Using Java APIs for more information.