Progress

Progress

Weekly reports

#4 & #5 - June 6 - June 20

TIME SPENT: Previous week between 25 and 30, this week 35

HIGHLIGHTS: Finished all technical issues of restoring files (going through history, getting list of files in directory, several bugs) that were deleted from directory and therefore mainly finished AssistantDirectoryHistory.

CONCERNS: Exactly what kind of user experience we want. I found out it can be quite tricky to get things working in precisely the way I imagined it and I find myself using shortcuts too often (and of course do it "the right way" when I catch myself).

Since I am almost finished with first GSOC task I currently have no other major concerns.

WAITING ITEMS: Nope. I would, however, greatly appreciate additional feedback regarding user interface.

STALLED TASKS: I was stuck for a lot of time at how to implement my own operation and how to issue orders to it in appropriate manner multiple times. Issue is now resolved.

ACCOMPLISHMENTS:

MINOR TASKS:

ACTIONS FOR FOLLOWING WEEK:

  • Decide what to do with files that are in subdirectories of the directory in which we are running command - do we want to show files that were deleted in subdirectories as well? Do we only show subdirectory if entire subdirectory was deleted?
  • Pass selected files to OperationRestore and do actual restore

  • Discuss with my mentor how do we want to proceed. What to polish, to which extent (and not loose too much time on details that can be resolved later on) and whether or not I should take on something else.

http://dl.dropbox.com/u/1493539/p1.png http://dl.dropbox.com/u/1493539/p2.png

#3 - May 31 - June 6

TIME SPENT: Around 25 hours

HIGHLIGHTS: Started developing my own Operation for Deja Dup to add an operation that will list files that were in the backup on a certain date so that we will be able to figure out what was deleted.

Managed to integrate interface that was designed with Glade to our existing code base which should enable gradual migration. At this point I stumbled upon a problem of connecting signals that are emitted by buttons to our code since even when passed proper function names Glade still could not find handler functions. After losing a lot of time I found some help on #vala and managed to figure out that we weren't including gmodule-2.0 and that even though --pkg gmodule-2.0 was added to VALA_CFLAGS it still has to be added to configure.ac (PKG_CHECK_DEP). This also showed me that our build system is a bit more trickier then I previously thought.

I was also surprised that similar problem occurred with Gee since I was expecting that we were using it's helper functions already.

Started writing documentation.

CONCERNS: Stumbling upon many more issues that are not of direct link to developing Deja Dup and losing too much precious time on those issues. To avoid this I plan to spend some time debugging but ask for help on #vala or related channel much sooner. Hopefully guys will be as helpful and as friendly as they have been in the past.

WAITING ITEMS: Nope, just myself.

STALLED TASKS: At the moment I am no longer stuck, but was stuck for two or three days (see above).

ACCOMPLISHMENTS:

  • Drew first user interface in Glade and connect it to existing code base [1]
  • Got signals working properly
  • Began implementing my own OperationFiles

MINOR TASKS:

  • Suggested the use of Valadoc and started to write documentation for functions that I develop or I'm working with.
  • Created first branch with the code I have [2]

ACTIONS FOR FOLLOWING WEEK:

  • Complete as much of backend code as possible for Nautilus plugin.
  • Prepare some part of user interface for directory history (suggestions on mailing list)

[1] http://dl.dropbox.com/u/1493539/restorefiles.png
[2] https://code.launchpad.net/~urbans/deja-dup/deja-dup.nautilus


#1

  • Finished with C#/Vala experimenting, moving on to more serious work
  • Was planing to go with "disk space", mterry informed me that he already did some work and that he will finish up with that
  • Will go with implementing Nautilus extension

Things we learned

Code structure

deja-dup/ - Mainly UI related stuff
commons/ - Common components that we use (e.g. working with duplicity, etc.)
widgets/ - User interface widgets that we use
monitor/ - Monitor/Scheduler that runs backups in the background
preferences/ - Preference window

Source code

Majority of things are written in Vala. C files that lie around are generated C code. The only exceptions to this are common/chacks.c and widgets/whacks.c and Nautilus extension.

To keep things uniform, we will try to make all things in Vala. Nautilus extension will be implemented by adding an item to Nautilus itself that will then call Deja Dup and open appropriate window (interface to be designed).

Interface

Everything to this point has been written by hand. It is a general consensus that it would probably be a good idea to migrate to Glade since it should enable faster development.

Duplicity and lack of space

If duplicity runs out of disk space during backup, it returns an OS error. Will probably implement specific log errors in the near future.


Proposed bugs to start with

  • #320008 Make the removable-drive experience rock
  • #540590 Add a 'restore missing files' view
  • #332500 Deja Dup should verify if there is enough room to restore a backup in the destination folder

Implementation

Deja Dup should verify if there is enough room to restore a backup in the destination folder

Ideas:

  • Run backup first in --dry-mode to see the list of changes and get the size of these files
    • - problem: potential large changes in the case of incremental changes - get in contact with duplicity guys and ask if they have any suggestions or is this a feature that need to be implemented

Template

Subject: Project name - Date of report
TIME SPENT: approx hours

HIGHLIGHTS: what you learnt/ enjoyed the most

CONCERNS: what is concerning you that is out of your hands to change

WAITING ITEMS: Are you waiting for anyone else to complete a task or are you depending on someone else

STALLED TASKS: If you are stuck, please state the factors that delayed those tasks

ACCOMPLISHMENTS: List them by importance

MINOR TASKS: Any other tasks

ACTIONS FOR FOLLOWING WEEK:

GSoC/2010/UrbanSkudnik/Progress (last edited 2010-06-21 16:25:13 by lk)