< Apache & Mapserver Windows Manual Installation

DocBook Documentation Generation  >

Appendix C. Create a New Project

This appendix describes how to configure your own project. The main steps are detailed here.

C.1. Project Directory

Get in the projects folder of Cartoweb. Rename the sampleProject directory to the name of your project.

Edit the client.ini.in of this new project, and modify the mapId parameter value with the name of your project:

mapId = your_project_name

Open the server_conf directory and rename the sampleProject directory to the name of your project.

In this folder, two more files need to be renamed ( sampleProject.map and sampleProject.ini) with the name of the new project.

C.2. Setup Your Project

In a command line prompt (DOS, shell), launch the cw3setup.php setup script.

<PHP-INTERPRETER> cw3setup.php --install
     --base-url http://localhost/cartoweb3/htdocs/ --profile development
     --project <nameOfYourProject>

See Chapter 1, Installation for more info on the installation script.

If no error occured, you should be able to access your project by typing http://localhost/cartoweb3/htdocs/client.php in your browser and selecting your project from the projects drop-down menu.

C.3. Project Shortcut

To make development easier, you can create a shortcut file to access your project directly. Go in cartoweb3/htdocs/ and copy the file demoCW3.php.

Rename the file to any name (usually your project name). Edit the file and replace 'demoCW3' by 'your_project_name'. Your project is now directly available with the URL http://localhost/cartoweb3/htdocs/your_project_name.php. (the URL given above depends on your installation, see the previous comments about cartoclientBaseUrl and --base-url).

C.4. Loading Data

As you can see, the project you created is hopelessly empty. Then, we'll load spatial data in it.

Add the following in the mapfile (your_project_name.map) :

  LAYER
    NAME "region"
    TYPE POLYGON
    DATA "reg_france"
    TEMPLATE "ttt"
    CLASS
      NAME "region"
      STYLE
        COLOR 240 240 240
        OUTLINECOLOR 255 165 96
      END
    END
    METADATA
      "id_attribute_string" "CODE"
    END
  END
  

And in the layers.ini file (server_conf/your_project_name/) add the following :

layers.region.className = Layer
layers.region.label = Régions
layers.region.msLayer = region

And add the new layer id in the root layer children list :

layers.root.children = region

For more details on how to fill the layers.ini file, see Chapter 6, Layers.

Also edit the your_project_name.ini file in a text editor in order to set some initial mapstates such as default selected layers.

Add the following :

mapInfo.initialMapStates.default.layers.region.selected = true

See Section 4.3.3.3, “Initial Mapstates” for more info about initialMapStates.

In your browser, click on the reset_session button and you should now see the France regions.

C.5. Location Parameters

Move the location.ini file you will find in the sampleFiles folder into the server_conf/your_project_name/ one.

This file defines some parameters such as scales or shortcuts. For more details on how to configure those parameters, see Chapter 7, Navigation

Click on the reset_session button in your browser page. New elements should appear. You should be able to choose a scale and a shortcut.

C.6. Your Own Data

After that the next point is to add your own data. You should just have to :

  • get your data available, by default in the data folder or somewhere else on your filesystem,
  • modify the mapfile extent,
  • modify the extent defined in the initialMapstates (your_project_name.ini),
  • add layers definitions in the mapfile (your_project_name.map),
  • add layers definitions in the layers.ini.
  • reset the session in the browser, and get your data displayed.

C.7. Outline

Let's see how to load a plugin. Edit the client.ini.in file (client_conf/) and add the outline plugin in the list of plugins to load:

loadPlugins = outline

Do the same in the your_project_name.ini file on server-side (server_conf/your_project_name/) but also add the mapOverLay plugin :

mapInfo.loadPlugins = outline, mapOverlay

Move the outline.ini file from sampleFiles to server_conf/your_project_name/.

In the mapfile (your_project_name.map), add the following at the bottom of the layers definition section :

  LAYER
    NAME "cartoweb_point_outline"
    TYPE POINT
    CLASS
      STYLE
        SYMBOL "circle"
        COLOR 0 0 205
        SIZE 10
      END
      LABEL
        TYPE TRUETYPE
        FONT "Vera"
        SIZE 7
        COLOR 0 0 0
        OUTLINECOLOR 255 255 255
        POSITION lc
      END
    END
  END

  LAYER
    NAME "cartoweb_line_outline"
    TYPE LINE
    TRANSPARENCY 100
    CLASS
      STYLE
        OUTLINECOLOR 255 0 0
        SYMBOL "line-dashed"
        SIZE 3
      END
      LABEL
        TYPE TRUETYPE
        FONT "Vera"
        SIZE 7
        COLOR 0 0 0
        OUTLINECOLOR 255 255 255
        ANGLE auto
        POSITION uc
      END
    END
  END

  LAYER
    NAME "cartoweb_polygon_outline"
    TYPE POLYGON
    TRANSPARENCY 60
    CLASS
      STYLE
        COLOR 255 153 0
        OUTLINECOLOR 0 0 0
      END
      LABEL
        TYPE TRUETYPE
        FONT "Vera"
        SIZE 7
        OUTLINECOLOR 255 255 255
        COLOR 0 0 0
        POSITION cc
      END
    END
  END

Launch the setup script. This step is compulsary to convert .ini.in files into .ini configuration files read by Cartoweb.

By clicking on the reset_session button in the browser window, you should see new buttons in the toolbar and the corresponding folder in the leftbar.

C.8. Pdf Printing

As done for the outline plugin, add "exportPdf" to the list of plugins to load on both client and server-side.

After launching the setup script and refreshing the application (reset_session), you should be able to test the new functionality as a new folder appeared in the interface. But a warning printed in the pdf file advices you to edit your exportPdf.ini file.

So move exportPdf.ini from sampleFiles to client_conf. Take care that this is a client-side configuration file. Try a new print (no need to reset).

For more information on how to edit your exportPdf.ini file, see Chapter 12, PDF Export.

C.9. Templating and Layout

Create a new templates folder in your project directory and move the cartoclient.tpl file from sampleFiles to this new folder.

This file is the main template for CartoWeb.

Refresh the application in your browser (refresh button) and enjoy!

To customize your project even more, you may apply styles sheets. To do so, first create a htdocs folder in your project directory. In this folder, create a new folder named css. Then move cartoweb.css and folders.css from sampleFiles to this new folder.

At this step, you need to launch the setup script so that the new ressources you just created are copied or linked (depending on your OS) in a web reachable folder.

You can now refresh the browser and see the new colors and styles.

valid xhtml 1.0 valid css