You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Nicolas Toper <nt...@gmail.com> on 2006/06/27 01:08:34 UTC
Backup tool questions (was: Re: [jira] Commented: (JCR-442) Implement a backup tool)
+1 on the 2 first thoughts. Code is updated but not yet committed.
There is an issue though. If I use conf.getBackup(), there will be an issue
in the restore operation: I wanted to save the conf file in the backup zip.
It might be possible, there are none. This is why I have put 2 operations:
one save (new name is backup) and one restore.
Here is what I have done in RepositoryImpl finally:
//Used for backup operations
public BackupRepository getBackupRepository(BackupConfig conf) throws
RepositoryException, IOException, AccessDeniedException{
conf.setRepo(this);
return (BackupRepository) conf.getBackup();
}
//Used for restore operations
public BackupRepository getBackupRepository() throws
RepositoryException, IOException, AccessDeniedException{
BackupConfig conf = new BackupConfig();
conf.setRepo(this);
return (BackupRepository) conf.getBackup();
}
This way we will have two way to call the class BackupRepository. One
problem though: they might be in two different states and instanciated
differently whether you are doing a backup (you pass a BackupConfig object)
or a restore (you just need to set up the workingFolder). Maybe the initial
backup/restore were less confusing? What do you think?
Nicolas
On 6/26/06, Tobias Bocanegra (JIRA) <ji...@apache.org> wrote:
>
> [
> http://issues.apache.org/jira/browse/JCR-442?page=comments#action_12417844]
>
> Tobias Bocanegra commented on JCR-442:
> --------------------------------------
>
> some thoughts:
> - why needs BackupConfig.init() the repositoryimpl ? i would do a
> Config.getBackup(repo) instead.
> - you don't need to call super() in the Backup class, since it extends
> from Object.
> - if config creates backup, why do you need to pass config to save() ?
> (and why not passing one to restore?)
> - if config.getBackup() returns a Backup, why does
> RepositoryImpl.getBackupRepository() return a BackupRepository ?
>
>
>
> > Implement a backup tool
> > -----------------------
> >
> > Key: JCR-442
> > URL: http://issues.apache.org/jira/browse/JCR-442
> > Project: Jackrabbit
> > Type: New Feature
>
> > Reporter: Jukka Zitting
> > Attachments: patch
> >
> > Issue for tracking the progress of the Google Summer of Code project
> assigned to Nicolas Toper. The original project requirements are:
> > "Implement a tool for backing up and restoring content in an Apache
> Jackrabbit content repository. In addition to the basic content hierarchies,
> the tool should be able to efficiently manage binary content, node version
> histories, custom node types, and namespace mappings. Incremental or
> selective backups would be a nice addition, but not strictly necessary."
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
> http://issues.apache.org/jira/secure/Administrators.jspa
> -
> For more information on JIRA, see:
> http://www.atlassian.com/software/jira
>
>
--
a+
Nico
my blog! http://www.deviant-abstraction.net !!
Re: Backup tool questions (was: Re: [jira] Commented: (JCR-442) Implement a backup tool)
Posted by Nicolas Toper <nt...@gmail.com>.
Good idea. Thanks
On 6/27/06, Tobias Bocanegra <to...@day.com> wrote:
>
> it's probably the backup handler, that needs to be able to extract the
> config.
>
> for example:
>
> BackupHandler h = new FileBaseBackupHandler("backup.zip");
> BackupConfig c = h.loadConfig();
> ....
>
>
> On 6/27/06, Nicolas Toper <nt...@gmail.com> wrote:
> > +1 on the 2 first thoughts. Code is updated but not yet committed.
> >
> > There is an issue though. If I use conf.getBackup(), there will be an
> issue
> > in the restore operation: I wanted to save the conf file in the backup
> zip.
> > It might be possible, there are none. This is why I have put 2
> operations:
> > one save (new name is backup) and one restore.
> >
> > Here is what I have done in RepositoryImpl finally:
> >
> > //Used for backup operations
> > public BackupRepository getBackupRepository(BackupConfig conf)
> throws
> > RepositoryException, IOException, AccessDeniedException{
> > conf.setRepo(this);
> > return (BackupRepository) conf.getBackup();
> > }
> >
> > //Used for restore operations
> > public BackupRepository getBackupRepository() throws
> > RepositoryException, IOException, AccessDeniedException{
> > BackupConfig conf = new BackupConfig();
> > conf.setRepo(this);
> > return (BackupRepository) conf.getBackup();
> > }
> >
> > This way we will have two way to call the class BackupRepository. One
> > problem though: they might be in two different states and instanciated
> > differently whether you are doing a backup (you pass a BackupConfig
> object)
> > or a restore (you just need to set up the workingFolder). Maybe the
> initial
> > backup/restore were less confusing? What do you think?
> >
> > Nicolas
> >
> > On 6/26/06, Tobias Bocanegra (JIRA) <ji...@apache.org> wrote:
> > >
> > > [
> > >
> http://issues.apache.org/jira/browse/JCR-442?page=comments#action_12417844
> ]
> > >
> > > Tobias Bocanegra commented on JCR-442:
> > > --------------------------------------
> > >
> > > some thoughts:
> > > - why needs BackupConfig.init() the repositoryimpl ? i would do a
> > > Config.getBackup(repo) instead.
> > > - you don't need to call super() in the Backup class, since it extends
> > > from Object.
> > > - if config creates backup, why do you need to pass config to save() ?
> > > (and why not passing one to restore?)
> > > - if config.getBackup() returns a Backup, why does
> > > RepositoryImpl.getBackupRepository() return a BackupRepository ?
> > >
> > >
> > >
> > > > Implement a backup tool
> > > > -----------------------
> > > >
> > > > Key: JCR-442
> > > > URL: http://issues.apache.org/jira/browse/JCR-442
> > > > Project: Jackrabbit
> > > > Type: New Feature
> > >
> > > > Reporter: Jukka Zitting
> > > > Attachments: patch
> > > >
> > > > Issue for tracking the progress of the Google Summer of Code project
> > > assigned to Nicolas Toper. The original project requirements are:
> > > > "Implement a tool for backing up and restoring content in an Apache
> > > Jackrabbit content repository. In addition to the basic content
> hierarchies,
> > > the tool should be able to efficiently manage binary content, node
> version
> > > histories, custom node types, and namespace mappings. Incremental or
> > > selective backups would be a nice addition, but not strictly
> necessary."
> > >
> > > --
> > > This message is automatically generated by JIRA.
> > > -
> > > If you think it was sent incorrectly contact one of the
> administrators:
> > > http://issues.apache.org/jira/secure/Administrators.jspa
> > > -
> > > For more information on JIRA, see:
> > > http://www.atlassian.com/software/jira
> > >
> > >
> >
> >
> > --
> > a+
> > Nico
> > my blog! http://www.deviant-abstraction.net !!
> >
> >
>
>
> --
> -----------------------------------------< tobias.bocanegra@day.com >---
> Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
> T +41 61 226 98 98, F +41 61 226 98 97
> -----------------------------------------------< http://www.day.com >---
>
--
a+
Nico
my blog! http://www.deviant-abstraction.net !!
Re: Backup tool questions (was: Re: [jira] Commented: (JCR-442) Implement a backup tool)
Posted by Tobias Bocanegra <to...@day.com>.
it's probably the backup handler, that needs to be able to extract the config.
for example:
BackupHandler h = new FileBaseBackupHandler("backup.zip");
BackupConfig c = h.loadConfig();
....
On 6/27/06, Nicolas Toper <nt...@gmail.com> wrote:
> +1 on the 2 first thoughts. Code is updated but not yet committed.
>
> There is an issue though. If I use conf.getBackup(), there will be an issue
> in the restore operation: I wanted to save the conf file in the backup zip.
> It might be possible, there are none. This is why I have put 2 operations:
> one save (new name is backup) and one restore.
>
> Here is what I have done in RepositoryImpl finally:
>
> //Used for backup operations
> public BackupRepository getBackupRepository(BackupConfig conf) throws
> RepositoryException, IOException, AccessDeniedException{
> conf.setRepo(this);
> return (BackupRepository) conf.getBackup();
> }
>
> //Used for restore operations
> public BackupRepository getBackupRepository() throws
> RepositoryException, IOException, AccessDeniedException{
> BackupConfig conf = new BackupConfig();
> conf.setRepo(this);
> return (BackupRepository) conf.getBackup();
> }
>
> This way we will have two way to call the class BackupRepository. One
> problem though: they might be in two different states and instanciated
> differently whether you are doing a backup (you pass a BackupConfig object)
> or a restore (you just need to set up the workingFolder). Maybe the initial
> backup/restore were less confusing? What do you think?
>
> Nicolas
>
> On 6/26/06, Tobias Bocanegra (JIRA) <ji...@apache.org> wrote:
> >
> > [
> > http://issues.apache.org/jira/browse/JCR-442?page=comments#action_12417844]
> >
> > Tobias Bocanegra commented on JCR-442:
> > --------------------------------------
> >
> > some thoughts:
> > - why needs BackupConfig.init() the repositoryimpl ? i would do a
> > Config.getBackup(repo) instead.
> > - you don't need to call super() in the Backup class, since it extends
> > from Object.
> > - if config creates backup, why do you need to pass config to save() ?
> > (and why not passing one to restore?)
> > - if config.getBackup() returns a Backup, why does
> > RepositoryImpl.getBackupRepository() return a BackupRepository ?
> >
> >
> >
> > > Implement a backup tool
> > > -----------------------
> > >
> > > Key: JCR-442
> > > URL: http://issues.apache.org/jira/browse/JCR-442
> > > Project: Jackrabbit
> > > Type: New Feature
> >
> > > Reporter: Jukka Zitting
> > > Attachments: patch
> > >
> > > Issue for tracking the progress of the Google Summer of Code project
> > assigned to Nicolas Toper. The original project requirements are:
> > > "Implement a tool for backing up and restoring content in an Apache
> > Jackrabbit content repository. In addition to the basic content hierarchies,
> > the tool should be able to efficiently manage binary content, node version
> > histories, custom node types, and namespace mappings. Incremental or
> > selective backups would be a nice addition, but not strictly necessary."
> >
> > --
> > This message is automatically generated by JIRA.
> > -
> > If you think it was sent incorrectly contact one of the administrators:
> > http://issues.apache.org/jira/secure/Administrators.jspa
> > -
> > For more information on JIRA, see:
> > http://www.atlassian.com/software/jira
> >
> >
>
>
> --
> a+
> Nico
> my blog! http://www.deviant-abstraction.net !!
>
>
--
-----------------------------------------< tobias.bocanegra@day.com >---
Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
T +41 61 226 98 98, F +41 61 226 98 97
-----------------------------------------------< http://www.day.com >---