EmailClient

Warning /!\ Ubuntu Touch is no longer maintained as a core product by Canonical. However, the Ubports community are continuing development.

Email Client

This web page is where we are coordinating the work to build a Trojita Email Client front-end for the Ubuntu Phone that could also extend to other form factors too with the responsive design features built into the Ubuntu SDK

The Details

Upstream Project

Trojita

Launchpad Team

ubuntu-emailclient-dev

IRC Channel

#trojita on Freenode

Blueprint

KDE Bugzilla

Burndown Chart

Upstream Roadmap

Release Schedule

Date

Milestone

Release

TBD

TBD

TBD

Contributing

The aim of this project is to add a new frontend to Trojita using the Ubuntu UI Toolkit. Because it is contributing to upstream, rather than being a stand-alone project, the process for developing and contributing is different from the other Core Apps projects.

Get the Code

Upstream Trojita uses Git rather than Bazaar, so you will need to have the git package installed. To get a fresh clone of the upstream repository, run:

git clone git://anongit.kde.org/trojita.git

You can build Trojita for Ubuntu either from the commandline of inside QtCreator.

Building in Ubuntu 13.10 or earlier

Trojita requires Qt 5.2, but versions of Ubuntu earlier than 14.04 currently have only 5.0.2 available. You can still compile the Ubuntu UI port using 5.0.2, it will just fail a couple of tests around the Composer class. To compile the code on Ubuntu 13.10 or earlier, you'll need to make the following change to your CMakeLists.txt:

   1 diff --git a/CMakeLists.txt b/CMakeLists.txt
   2 index 5bd707c..9c0eb5d 100644
   3 --- a/CMakeLists.txt
   4 +++ b/CMakeLists.txt
   5 @@ -56,7 +56,7 @@ endif()
   6  
   7  if(WITH_QT5)
   8      message(STATUS "Building the Qt5 version")
   9 -    find_package(Qt5Core 5.2 REQUIRED)
  10 +    find_package(Qt5Core 5.0 REQUIRED)
  11      find_package(Qt5Gui REQUIRED)
  12      find_package(Qt5Network REQUIRED)
  13      find_package(Qt5Sql REQUIRED)

Building from the Commandline

In order to build the source from the command line, run the following:

mkdir ./build
cd build
cmake -DWITH_UBUNTU=on ..
make
./trojita

Building in QtCreator

To build inside QtCreator, select File->Open File or Project... and select the CMakeLists.txt file to open the project. When prompted for CMake flags, use -DWITH_UBUNTU=on, then run cmake. After than, QtCreator will build (and rebuild) the code when you tell it to run Trojita.

Finding things to work on

Instead of using Launchpad, this project uses upstream's bug tracker. You can browse all bugs, or just bugs specific to Ubuntu there.

In addition, we're tracking work items on Trello

Submitting your changes upstream

Trojita uses KDE's ReviewBoard software for tracking and reviewing changes. You will need a KDE Identiy to use this service.

When you submit a change for review, be sure to set the review group to trojita

Instructions for getting your git repo setup for using Review Board are here.

User Stories

Note: please don't add user stories here. We are defining these as a limited set to keep the scope more limited to get out a first version.

  • Must Have: I want to see my inbox or other folders
  • Must Have: I want to view an email
  • Must Have: I want to delete an email
  • Must Have: I want to compose a new email
  • Must Have: I want to add/modify email settings for a POP3/IMAP account
  • Should Have: I want to delete one or more emails I have selected
  • Should Have: I want to configure multiple email accounts

Functional Requirements

Note: likewise, please don't add functional requirements here. We are defining these as a limited set to keep the scope more limited to get out a first version.

  • Check new messages
  • Sync with server
  • Managing individual email records
  • Managing folders
  • Saving/opening drafts
  • Bulk management of email records (e.g. deleting multiple records)
  • Adding/Modifying email settings

Design

How To Add Your Design

To contribute design, first ensure you have picked an app and then read the App Design Guides.

Next, send an email to David Planella (david.planella AT canonical DOT com) and Michael Hall (michael.hall AT canonical DOT com) to ask to be added to MyBalsamiq (this is the system we use for creating mock-ups.

Now look at each of the screens listed in the project in the Design section and view any existing designs.

If a design matches how you think it should look but with a few changes, please don't create a new design but instead leave comments on the design itself.

If there is either no design or you would like to propose a new design, simply create the design in MyBalsamiq on https://ubuntu.mybalsamiq.com/projects/ubuntuphonecoreapps/grid. Please be sure to use the Phone container and add your design inside it.

Now link your design under the right screen heading below and using the following format:

 * [[https://ubuntu.mybalsamiq.com/projects/ubuntuphonecoreapps/YOURDESIGN|Your Name]] - summary of your design

As an example:

Message List view

Message Content view

Compose new Message

  • Needed

Reply to Message

Bulk message actions

Select multiple messages to perform an action on (delete, mark as read/unread, move to folder, etc)

  • Needed

Folders/Labels view

  • Needed

Add Folder/Label

  • Needed

Edit Folder/Label

  • Needed

Delete Folder/Label

  • Needed

Implementation

This is where the spec will be.

Touch/CoreApps/EmailClient (last edited 2014-04-03 10:32:10 by popey)