Page tree

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:

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.

Windows
<INSTALL_DIR>\bin\createproject.exe --name myProj -m module1 -m module2 -o c:\myAIEProjects
Linux
<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 Directory Structure
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. 

  • No labels