FOR ARCHIVAL PURPOSES ONLY

The information in this wiki hasn't been maintained for a good while. Some of the projects described have since been deprecated.

In particular, the "Ushahidi Platform v3.x" section contains information that is often misleading. Many details about this version of Platform have changed since.

This website is an extraction of the original Ushahidi wiki into a static form. Because of that, functions like logging in, commenting or searching will not work.

For more documentation, please refer to https://docs.ushahidi.com

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: updated what lives where

...

File structure: what lives where?

  • src
    • Ushahidi
      • Entity - Application entities
      • Tool - Basic tools and tool interfaces
      • Traits - Reusable traits
      • Usecase - Application use cases, Data objects, and Repository interfaces
  • spec - PHPspec tests for core application
  • application
    • classes
      • Ushahidi
        • Api.php - Abstract base class for all API controllers
      • Controller
        • Api - All API controllers
      • Model - Application Models
    • config
      • environments - environment specific config overrides
      • auth.php - config for kohana auth module
      • database.php - database config
      • init.php - init config, passed to kohana::init()
      • media.php - config for kohana-media module
      • modules.php - module paths to be loaded
    • migrations 3-0 - Core 3.0 Minion Migrations scripts- database migrations
    • routes
      • default.php - Default route definitions, can be overridden per environment
    • tests
      • classes - PHPUnit tests
      • features - Behat tests and contexts
      • datasets - Datasets used in testing
    • views
      • api - api error views
      • oauth - views for oauth authorization flow
    • vendor - vendor libraries ie. gisconverter
    • bootstrap.php - Kohana bootstrap file: loads and configures the kohana framework.
  • modules
    • koauth - Kohana OAuth module
    • UshahidiUI
      • classes
        • Controller
          • Main.php - Main controller: handles frontend routes (/<action>)
        • Ushahidi
          • Controller
            • Main.php - Base class for main controller
      • config
        • ushahidiui.php - UI config, passed as JSON object to frontend JS
      • media
        • js
          • lib - JS libraries
          • app - Application JS. All files are loaded as requireJS modules
            • collections - BackboneJS collections
            • config
              • Init.js - Require JS Init files, configures requirejs and initializes the app.
            • controllers -  controllers
              • Controller.js - application controller, currently the only controller
            • models - BackboneJS modles
            • routers - Backbone JS routers
              • AppRouter.js - application router, currently the only router.
            • templates - handlebarsjs templates
            • util - small utility modules
            • views - BackboneJS views
            • App.js - Main Application module: sets up main application class with regions, initializers etc
          • tests - Frontend tests (not used yet)
        • css - Frontend CSS, compiled and 3rd party css files (such as fontawesome)
        • images - images for the frontend ui
        • font - font files for the frontend ui
        • scss - Source SCSS files
      • views
        • index.php - frontend view: contains just the initial html, with an empty body.
      • init.php - UshahidiUI module init script, add a single frontend route.
      • Gruntfile.js - Grunt config, used to build SCSS files to CSS, compile requirejs files, etc
  • httpdocs
    • index.php - Loads and bootstraps Kohana..
    • template.htaccess - .htaccess template file, copy to .htaccess and customize
  • vendor - Composer modules