Problem/Motivation

There are various problems with the module right now and the current 7.1 branch is using a 3rd party API that is not maintained and not supported.

Remaining tasks

- Create patch to move away from 3rd party api #1989636: Cron not generating backups
- Store authentication key in DB
- #2411461: Expecting a 32 byte key, got 64 in Dropbox\OAuth\Storage\Encrypter
- #2726503: Add php-mcrypt to install requirements.
- #2728737: Add dynamic max upload size
- #2728735: Add error handling
- #1605142: Restore from Dropbox
- #2726511: Dev Branch only works with Backup & Migrate 7.3

Comments

botris created an issue. See original summary.

danielphenry’s picture

Guess I should have posted my disagreement on this thread instead of the other. Sorry wasn't paying attention.

That said I do have a few question:

  1. "Create patch to use SDK", "All call's to 7.1 3rd party SDK will change to the Dropbox SDK." - Dropbox does not have an official php SDK: https://www.dropbox.com/developers/documentation/php
  2. "Store authentication key in DB" - Already addressed in my patch.
  3. "https://www.drupal.org/node/2411461" - already addressed in my patch.
  4. "https://www.drupal.org/node/2726503" - no longer necessary as this was a requirement of the 3rd party library.
  5. From the other task: "I don't think curl is the way to go." - Why not? What do you recommend instead?
botris’s picture

Ok so the purpose of this 'meta' issue is to create an overview to what needs to be done to get a proper working module out there.
Thanks again for the patch, not saying it doesn't solve the issues listed, but as their different issues I still think it's good to list them all.

Dropbox does not have an official php SDK

No that's true, they have a Core API SDK for PHP. Whether if it's official or not, I think it's worth evaluating if it should be included.

"Store authentication key in DB" - Already addressed in my patch.
"https://www.drupal.org/node/2411461" - already addressed in my patch.
"https://www.drupal.org/node/2726503" - no longer necessary as this was a requirement of the 3rd party library.

Sure, again I think it's good to maintain overview here.

From the other task: "I don't think curl is the way to go." - Why not? What do you recommend instead?

Sorry let me rephrase: As noted above if we can go through Dropbox's SDK, then I'd prefer that as it might provide functions that we use for future features. (and have the curl calls be made by/through the SDK).

danielphenry’s picture

Botris,

Clarification on the dropbox SDK. The Official SDK you linked to is for the API Version 1 only. We should be using api version 2 which does not have an official sdk. Please see the link I posted: https://www.dropbox.com/developers/documentation/php.

Being that this module doesn't work right now we should spend less time on semantics and more time putting up a working copy. It would take very little to get it working using curl now and then use an sdk later (if dropbox ever creates one). That is the point of an alpha release.

If you do want a version 7.2 branch can you please go ahead and put my existing patch into it. It's fully functional and will set up a great starting point.

botris’s picture

Title: Create 7.2 branch » Create stable release
Issue summary: View changes

Cool, well that's a quick evaluation of the SDK then.

As commented, a new branch is not the issue but having a clear overview towards a stable module is. Will update issue summary to reflect.

danielphenry’s picture

So why are you dismissing my patch again?

If the goal is a stable module I've created it. And I'm still working towards bettering it. It would be nice to have a place to put it...

botris’s picture

When did I say I'm dismissing your patch?

As I've stated here twice now and once in another issue I've created this issue to get a sense of the state of this module and to know what needs to be done to have a stable release. Nowhere have I said that I'm not looking into your patch, or that trying to bring some structure to the issues means your patch(es) are not reviewed. I did say I wanted to see if this was the best route to take. As a matter of fact I'm in the middle of testing your patch as we speak. But apart from that I've reached out to you via the personal Drupal contact form to discuss on IRC if you wanted to.
If your patch doesn't get applied straight away doesn't mean it's dismissed.

danielphenry’s picture

I guess I'm confused by what "get a sense of the state of this module" means. Does this help?

Current State:

  • Doesn't work on cron
  • Has confusing workflow
  • Using outdated API
  • Using unsupported 3rd party library

Direction:

  • Build simple self contained api using dropbox api version 2 (and curl).
  • Remove outdated dependency on unsupported 3rd party library.
  • Support backup on cron.

Future Goals:

  • Add list backup files support.
  • Add restore from dropbox support.

I'm just eager to get this process started. I'm actively morphing the code in that patch into proper backup_migrate_dropbox.api.inc file. And adding proper error handling.

  • botris committed 7cc528b on 7.x-1.x
    Issue #2728271 by danielphenry: Create stable release
    
botris’s picture

Again if a patch or procedure get commented on or reviewed it does not mean it's being dismissed.

As I stated in #3

Ok so the purpose of this 'meta' issue is to create an overview to what needs to be done to get a proper working module out there.

If that was confusing, then let me explain; look at "Remaining tasks" in issue summary. There you will find a list of remaining tasks. Please add tasks there that you think should be part of a stable release.

Great to hear that your eager to get this process started, and thanks again for your patch, it's been applied to dev with minor adjusts.
Please note that your patch changed backup_migrate_dropbox_backup_migrate_destination_subtypes() which is for backup_migrate 7.x-3.x
I suspect that you where testing with 7.x-2.x
I added a dependency for backup_migrate 7.x-3.x

I'll create issues for the two remaining issues for the patch and include them in the issue summary.

botris’s picture

Issue summary: View changes
botris’s picture

Issue summary: View changes
danielphenry’s picture

So the purpose of this issue is to have a running list. That makes sense. Never worked heavily through an issue queue on drupal so I may miss some of the nuances.

If 2.x and 3.x are using separate systems we may want to create a branch for each of them that corresponds directly to the backup_migrate version. Since only the .module file is changed it would not be difficult to maintain. All my sites seem to be running 2.x and that is after a recent update. This means backup and migrate is maintaining both versions and not forcing the upgrade. I imagine many users will run into the same issue. Should we add a new issue for this?

danielphenry’s picture

Oh. And thanks for getting the patch in. I hope to have another update in the next couple days.

danielphenry’s picture

Issue summary: View changes

updated closed cases.

botris’s picture

Thanks looking forward to the next patch :)
Referenced issues don't actually need strikethroughs, these get updated automagicly.

botris’s picture

Issue summary: View changes
fietserwin’s picture

Version: 7.x-1.x-dev » 7.x-2.0-alpha1

Changing version.

The 2.x-alpha1 version is fully featured and close to being stable. so please try it out. We should be able to release a stable version shortly.

fietserwin’s picture

Version: 7.x-2.0-alpha1 » 7.x-2.0
Assigned: botris » Unassigned
Status: Active » Fixed

I just released 7.x-2.0. Security coverage is set and the issue queue will be monitored.

- @botris: FYI: path is no longer required and may be left empty.
- A 7.x-2.1 version might be released with a bit more on screen documentation on the settings form (more or less a copy of what is in the readme.md) and of course any bug fixes that might be reported.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.