An Appointment Up the Hill

Hey, Everyone, it has been a while since I wrote my last post, but during this period I’ve been working and tackling problems for implementing the authentication functionality. So the user can now successfully enter his/her EteSync account in evolution and be able to see his/her data (Address-books, Calenders and Tasks) \o/.

What have I been doing during this period?

First if you want to skip to the results and see the module in action click here 😀

In my last post I showed screenshots for contacts appearing in Evolution, and explained that the .source file was created manually and that the credentials were hard coded for retrieving a specific journal form a specific EteSync account.

After finishing this, I extended so that I can also retrieve calenders and tasks in the same manner which was quite easy as I already understood what should be done. Then I created an etesync-backend file, which generally handles the user’s collection account in evolution (retrieving/ creating /deleting) journals which are address-book or calenders .source files.

The next step was then to make a user enter his credentials, So it isn’t hard coded. In this stage I had faced some issues regarding the implementation, I asked for my mentors help. Some of the problems that I faced were I needed to create a new dialog that will appear ask the user for his credentials and retrieve the data from EteSync, this had some implementation problems for me at first. Other issues appeared while integrating had to change some pieces.

So just to sum up what have I been doing during this period:

  1. Extended the reading functionality to calenders and tasks.
  2. Added etesync-backend file which handles the creating/deleting/ retrieving journals.
  3. Added a Lookup file for looking up your account before adding it.
  4. Added a Credential promoter for taking in the user’s Encryption Password.
  5. Integrated the collection account authentication so that is isn’t hard coded any more.
  6. Also, did the same with the address-book and calender back-end.

Module in action

First you need to add your account in Evolution.

  • Open Evolution and then press the little down arrow next to “New” on the top-left.
  • Then Choose “Collection Account”
This the collection account lookup window
Click on “Advanced Options” to enter your local server
After looking up for your account press next to add it
This window will appear, right after you add your account asking for entering the Encryption Password
(username and password will be preloaded as entered before)
  • OK So at this point you should’ve entered your correct credentials, now evolution will load your journals so you can see your data.
  • Now I made some changes in the my contacts journal “Default” and went back to Evolution and refreshed the address book, it loaded the changes made.

So as you see, there is a great progress done, but still more to be made so EteSync and Evolution users can fully use the module without issues for reading and writing there data.

What Else?

  1. While the reading functionality is working, it may need some small fixes for some cases and testing.
  2. Preparing the module to be easily used by users for testing it (some adjustments in the CMakeList files.
  3. Add the writing functionality for calenders, tasks and address-books.
  4. Adding the ability to create or delete journals from Evolution.
  5. Small tweaks in the UI in authentication dialog.

These are the things that I can think of now, during the progress other things might appear along the way. So, stay tuned for more posts in the future, sharing with you my progress throughout the journey 😀

3 thoughts on “An Appointment Up the Hill

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s