Version

    12. Working with CloverDX Server projects

    Working offline

    CloverDX Server handles short network outage. You can work with graphs or move files even if you temporarily cannot connect. When Designer reconnects to the Server, the changes are synchronized.

    When you are working offline, you cannot run graphs, view new debug data in Data Inspector or extract metadata from databases.

    When connection fails, the Server notifies you with a message. The message appears in the right bottom corner. Furthermore, the project name color changes to red.

    working offline 010
    Figure 112. Connection failed
    working offline 018
    Figure 113. Connection failed

    When Designer reconnects to the server, you are informed with a message again. The project name color changes back to black.

    working offline 020
    Figure 114. Connection reestablished

    Handling conflicts

    If more users edit the same file, a conflict occurs. In such a case, the Designer informs the user and the user should resolve it.

    Conflicts are rare and you can avoid them with a suitable workflow: it is not a good idea for more users to work within the same sandbox at the same time, unless they communicate well with each other to avoid conflicts and unintentional overwriting of files.

    When a conflict is detected new files appear. The file names are derived from the conflicted file name, timestamp and conflict-denoting suffix. For example, a conflict in MyFile.grf creates MyFile_2016-02-25_13_45_56_conflict_local.grf and MyFile_2016-02-25_13_45_56_conflict_remote.grf.

    You should resolve conflict yourself. You are asked to choose one of the options: Open in compare editorResolve the conflict using the local file, or Resolve the conflict using remote file.

    Placeholder files

    Placeholder file is a dummy file in Designer. A file exceeding a user-defined size limit becomes a placeholder file. The placeholder file can be viewed in Project Explorer, but it cannot be modified within Eclipse. The file content only exists on CloverDX Server. When you open the placeholder file, you can view the several lines from the file in a special editor.

    Placeholder file saves disk space - you download files up to specified size. The files exceeding the limit are displayed in Project Explorer as placeholder files: you see that the file exists, but its content is only on the Server. You can download the content of placeholder file from CloverDX Server explicitly. The file size limit can be changed in CloverDX Server integration.

    As you copy, move, rename, or delete the placeholder file, the corresponding file on CloverDX Server is copied, moved, renamed, or deleted.

    project 0010
    Figure 115. Placeholder file
    Placeholder vs. placeholder file

    We use two similar terms in our documentation: placeholders and placeholder files.

    Placeholder is a replaceable part of a text - variable. It is used within configuration, mostly in the CloverDX Server documentation.

    Placeholder file is a mock-up of a data file. You can view the placeholder file in Project Explorer in Designer, but the file content is only on the Server.

    Project configuration

    Project configuration allows you to configure properties on per-project basis: connection to CloverDX Server and files that should not be synchronized.

    The per project configuration can be changed from the main menu under Project  Properties item.

    CloverDX connection

    This window displays the configuration of connection of the current CloverDX project: you can view the CloverDX Server URL, user, and sandbox.

    This window serves to inform you about the project configuration.

    project 0100
    Figure 116. CloverDX connection

    Ignored files

    Ignored files allows you to avoid synchronization of particular files.

    This is a per-project configuration of ignored files. See Ignored files in workspace configuration.

    project 0110
    Figure 117. CloverDX Connection

    Working with CloverDX Server

    CloverDX Server Project Basic Principles

    Connecting via HTTP

    Connecting via HTTPS

    Connecting via Proxy Server

    With CloverDX Designer and CloverDX Server fully integrated, you can access Server sandboxes directly from the Designer without having to copy them back and forth manually.

    Designer takes care of all the data transfers for you - you can directly edit graphs, run them on the Server, edit data files, metadata, etc. You can even view live tracking of a graph execution as it runs on the Server.

    Remember that the version of CloverDX Designer and CloverDX Server must match.

    You can connect to your CloverDX Server by creating a CloverDX Server Project in CloverDX Designer. For detailed information, see CloverDX Server Project.

    To learn how you can interchange graphs, metadata, etc. between a CloverDX Server sandbox and a standard CloverDX project, see the following links:

    CloverDX server project basic principles

    1. A sandbox must exist on CloverDX Server. If a sandbox does not exist, you can create it from CloverDX Designer. See CloverDX Server Project.

    2. For each CloverDX Server sandbox, only one CloverDX Server project can be created within the same workspace. If you want to create more than one CloverDX Server projects for a single CloverDX Server sandbox, each of these projects must be in different workspace.

    3. In one workspace, you can have more CloverDX Server projects created using your Designer.

      Each of these CloverDX Server projects can even be linked to different CloverDX Server.

    4. CloverDX Designer uses HTTP/HTTPS protocols to connect to CloverDX Server. These protocols work well with complex network setups and firewalls. Remember that each connection to any CloverDX Server is saved in your workspace. For this reason, you can use only one protocol in one workspace. You have your login name, password and some specified user rights and/or keys.

      In case the Server login credentials were changed while connected to a Server project, Designer throws an exception. In such a case, convert the project to local and then to Server again and provide correct login credentials.

    5. Remember that if multiple users are accessing the same sandbox (via Designer), they must cooperate to not overwrite their changes made to the same resources (e.g. graphs). If anyone changes the graph or any other resource on CloverDX Server, the other users may overwrite such resources on Server. However, a warning is displayed and each user must decide whether they really want to overwrite such resource on CloverDX Server. The remote resources are not locked and the user must decide what should be done in the case of such a conflict.

    Connecting via HTTP

    With the HTTP connection, you do not need to configure CloverDX Designer. Simply start the CloverDX Designer and you can create your CloverDX Server projects using the default connection to Server: http://localhost:8080/clover where both login name and password are clover (note that the URL depends on the chosen application server).

    Connecting via HTTPS

    Designer has its Own Certificate

    Designer does not have its Own Certificate

    You need to configure both the Server and Designer (in the case of Designer with its own certificate), or the Server alone (in the case of Designer without a certificate).

    Designer has its Own Certificate

    In order to connect to CloverDX Server via HTTPS when Designer must have its own certificate, create client and server keystores/truststores (note: the following guide is for Unix system):

    1. To generate these keys, execute the following script in the bin subdirectory of JDK where keytool is located:

    # SERVER
    # create server key-store with private-public keys
    keytool -genkeypair -alias server -keyalg RSA -keystore ./serverKS.jks \
            -keypass p4ssw0rd -storepass p4ssw0rd -validity 900 \
            -dname "cn=localhost, ou=DX, o=Clover, c=CR"
    # exports public key to separated file
    keytool -exportcert -alias server -keystore serverKS.jks \
            -storepass p4ssw0rd -file server.cer
    
    # CLIENT
    # create client key-store with private-public keys
    keytool -genkeypair -alias client -keyalg RSA -keystore ./clientKS.jks \
            -keypass chodnik -storepass chodnik -validity 900 \
            -dname "cn=Key Owner, ou=DX, o=Clover, c=CR"
    # exports public key to separated file
    keytool -exportcert -alias client -keystore clientKS.jks \
            -storepass chodnik -file client.cer
    
    # trust stores
    
    # imports server cert to client trust-store
    keytool -import -alias server -keystore clientTS.jks \
            -storepass chodnik -file server.cer
    
    # imports client cert to server trust-store
    keytool -import -alias client -keystore serverTS.jks \
            -storepass p4ssw0rd -file client.cer

    (In these commands, localhost is the default name of your CloverDX Server. You can change the Server name by replacing the localhost name in these commands by any other hostname.)

    After that, copy the serverKS.jks and serverTS.jks files to the conf subdirectory of Tomcat.

    Then, copy the following code to the server.xml file in this conf subdirectory:

    <Listener className="org.apache.catalina.core.AprLifecycleListener"
                SSLEngine="off" />
    
    <Connector port="8443" maxHttpHeaderSize="7192"
              maxThreads="150" minSpareThreads="25"
              enableLookups="false" disableUploadTimeout="true"
              acceptCount="100" scheme="https" secure="true"
              clientAuth="true" sslProtocol="TLS"
              SSLEnabled="true"
              protocol="org.apache.coyote.http11.Http11NioProtocol"
              keystoreFile="pathToTomcatDirectory/conf/serverKS.jks"
              keystorePass="p4ssw0rd"
              truststoreFile="pathToTomcatDirectory/conf/serverTS.jks"
              truststorePass="p4ssw0rd"
    />

    The path to keystore and truststore files must be absolute. Relative paths may not work. This is valid for both parts of communication.

    Now you can run CloverDX Server by executing the startup script located in the bin subdirectory of Tomcat.

    Configuring CloverDX Designer

    Now you need to copy the clientKS.jks and clientTS.jks files to any location.

    After that, copy the following code to the end of the CloverDXDesigner.ini file, which is stored in the CloverDX Designer installation directory:

    -Djavax.net.ssl.keyStore=locationOfClientFiles/clientKS.jks
    -Djavax.net.ssl.keyStorePassword=chodnik
    -Djavax.net.ssl.trustStore=locationOfClientFiles/clientTS.jks
    -Djavax.net.ssl.trustStorePassword=chodnik

    Now, when you start your CloverDX Designer, you will be able to create your CloverDX Server projects using the following default connection to the Server: https://localhost:8443/clover where both login name and password are clover.

    Designer does not have its own certificate

    In order to connect to CloverDX Server via HTTPS when Designer does not need to have its own certificate, you only need to create a server keystore.

    To generate this key, execute the following script (version for Unix) in the bin subdirectory of JDK keytool is located:

    keytool -genkeypair -alias server -keyalg RSA -keystore ./serverKS.jks \
            -keypass p4ssw0rd -storepass p4ssw0rd -validity 900 \
            -dname "cn=localhost, ou=DX, o=Clover, c=CR"

    (In these commands, localhost is the default name of your CloverDX Server, if you want any other Server name, replace the localhost name in these commands by any other hostname.)

    After that, copy the serverKS.jks file to the conf subdirectory of Tomcat.

    Then, copy the following code to the server.xml file in this conf subdirectory:

    <Listener className="org.apache.catalina.core.AprLifecycleListener"
              SSLEngine="off" />
    
    
    <Connector port="8443" maxHttpHeaderSize="7192"
              maxThreads="150" minSpareThreads="25"
              enableLookups="false" disableUploadTimeout="true"
              acceptCount="100" scheme="https" secure="true"
              clientAuth="false" sslProtocol="SSL"
              SSLEnabled="true"
              protocol="org.apache.coyote.http11.Http11NioProtocol"
              keystoreFile="pathToTomcatDirectory/conf/serverKS.jks"
              keystorePass="p4ssw0rd"
    />

    Now you can run CloverDX Server by executing the startup script located in the bin subdirectory of Tomcat.

    And, when you start your CloverDX Designer, you will be able to create your CloverDX Server projects using the following default connection to Server: https://localhost:8443/clover where both login name and password are clover.

    You will be prompted to accept the Server certificate. Now you can create a CloverDX Server project.

    Connecting via proxy server

    You can make use of your proxy server to connect to CloverDX Server, too.

    The proxy server has to support HTTP 1.1. Otherwise all connection attempts will fail.

    To manage the connection, navigate to Window  Preferences  General  Network Connections

    proxySettings
    Figure 118. Network connections window

    For more information on handling proxy settings, go to the Eclipse website.