Call to developers, Yet another migration module / how to choose a module name?
Hello all, Working on some custom project for my company, I developed a module to do massive migration between sites. This module uses a full OO layer. Its internal mechanism is based on abstracting objects to migrate from a master site to clients. This abstraction defines how to construct object dependency tree and how to serialize objects. Object implementation (node, user, taxonomy, whatever) is really simple to use, it's only 3 methods classes (register dependencies, save, and update) using some kind of custom registry for developer to save/get back data before and after serialization. All error handling is exception oriented, and lower software layers won't fail on higher layers unrecoverable errors. Object fetching is based on a push/pull mechanism. Server push the sync order, client responds OK or not. If OK, it creates a job using DataSync module which allow it to run as CLI thread (which won't hurt the web server, and allow us a larger memory limit at run time). DataSync module uses MySQL transactions (shame it's only MySQL compliant, but I hope it will evolve, I'm thinking about PostgreSQL). During the DataSync job execution, client will pull an original set of content, and browsing it will do incremental dependencies fetching (by pulling again server), based on xmlrpc (fetching component is also abstracted, and could be any other communication method than xmlrpc). To be unobtrusive on the system, smart unset() is done after building a dependencies subtree, and there is a recursion breaker in case of circular dependencies. This module was created because the deploy module seems to be so unstable, I did not want to risk client's production sites to run with it. I started implementation of some sort of "deploy plan", using profile based on views, you construct a set of views, saved them in a profile, then all objects that these views reference will be synchronized. Right now, the module fully synchronize taxonomy and content types, partially synchronize users (including core account information and passwords), and I have a small bug left to handle with nodes (revision problem I think). There might be a performance or overhead problem with this conception with a very large amount of data, it could break easily. The only way to be sure it won't break is I think to migrate stuff with a numerous small set of data. But the problem doing this is that it will be really hard to keep the transactional context of DataSync module. There is a lot of other custom goodies coming. First thing is, what do you think about such module, should I commit it on drupal.org? Is there people interested? And, now that I described the module, what name should I give him, considering the fact I'll probably commit it on drupal.org, if people are interested. I though about "YAMM" (Yet Another Migration Module), or YADM (Yet Another Deployment Module). The fact is there is *a lot* of modules which want to do the same thing as this one, I just want a simple an expressive name. Pierre.
Oh yes, modules that do this, are designed well and really work and can be easily installed are definitely more than interesting: they empower! +1 On drupal.org we can all download and use the module and converge our feedback into the issue queue! Looking forward to seeing it! Victor Kane http://awebfactory.com.ar On Sat, Aug 1, 2009 at 10:50 AM, Pierre Rineau < pierre.rineau@makina-corpus.com> wrote:
Hello all,
Working on some custom project for my company, I developed a module to do massive migration between sites.
This module uses a full OO layer.
Its internal mechanism is based on abstracting objects to migrate from a master site to clients. This abstraction defines how to construct object dependency tree and how to serialize objects.
Object implementation (node, user, taxonomy, whatever) is really simple to use, it's only 3 methods classes (register dependencies, save, and update) using some kind of custom registry for developer to save/get back data before and after serialization.
All error handling is exception oriented, and lower software layers won't fail on higher layers unrecoverable errors.
Object fetching is based on a push/pull mechanism. Server push the sync order, client responds OK or not. If OK, it creates a job using DataSync module which allow it to run as CLI thread (which won't hurt the web server, and allow us a larger memory limit at run time). DataSync module uses MySQL transactions (shame it's only MySQL compliant, but I hope it will evolve, I'm thinking about PostgreSQL).
During the DataSync job execution, client will pull an original set of content, and browsing it will do incremental dependencies fetching (by pulling again server), based on xmlrpc (fetching component is also abstracted, and could be any other communication method than xmlrpc).
To be unobtrusive on the system, smart unset() is done after building a dependencies subtree, and there is a recursion breaker in case of circular dependencies.
This module was created because the deploy module seems to be so unstable, I did not want to risk client's production sites to run with it. I started implementation of some sort of "deploy plan", using profile based on views, you construct a set of views, saved them in a profile, then all objects that these views reference will be synchronized.
Right now, the module fully synchronize taxonomy and content types, partially synchronize users (including core account information and passwords), and I have a small bug left to handle with nodes (revision problem I think).
There might be a performance or overhead problem with this conception with a very large amount of data, it could break easily. The only way to be sure it won't break is I think to migrate stuff with a numerous small set of data. But the problem doing this is that it will be really hard to keep the transactional context of DataSync module.
There is a lot of other custom goodies coming.
First thing is, what do you think about such module, should I commit it on drupal.org? Is there people interested?
And, now that I described the module, what name should I give him, considering the fact I'll probably commit it on drupal.org, if people are interested.
I though about "YAMM" (Yet Another Migration Module), or YADM (Yet Another Deployment Module).
The fact is there is *a lot* of modules which want to do the same thing as this one, I just want a simple an expressive name.
Pierre.
I would encourage you to contribute it to drupal.org. It doesn't matter if it is "yet another xxx". It is an area with no set solutions, and the more ideas the better. Contributing it will enable more people to use it, discuss improvements, and overall help push the deployment issue forward. -- Kathleen Murtagh On Sat, Aug 1, 2009 at 8:50 AM, Pierre Rineau < pierre.rineau@makina-corpus.com> wrote:
Hello all,
Working on some custom project for my company, I developed a module to do massive migration between sites.
This module uses a full OO layer.
Its internal mechanism is based on abstracting objects to migrate from a master site to clients. This abstraction defines how to construct object dependency tree and how to serialize objects.
Object implementation (node, user, taxonomy, whatever) is really simple to use, it's only 3 methods classes (register dependencies, save, and update) using some kind of custom registry for developer to save/get back data before and after serialization.
All error handling is exception oriented, and lower software layers won't fail on higher layers unrecoverable errors.
Object fetching is based on a push/pull mechanism. Server push the sync order, client responds OK or not. If OK, it creates a job using DataSync module which allow it to run as CLI thread (which won't hurt the web server, and allow us a larger memory limit at run time). DataSync module uses MySQL transactions (shame it's only MySQL compliant, but I hope it will evolve, I'm thinking about PostgreSQL).
During the DataSync job execution, client will pull an original set of content, and browsing it will do incremental dependencies fetching (by pulling again server), based on xmlrpc (fetching component is also abstracted, and could be any other communication method than xmlrpc).
To be unobtrusive on the system, smart unset() is done after building a dependencies subtree, and there is a recursion breaker in case of circular dependencies.
This module was created because the deploy module seems to be so unstable, I did not want to risk client's production sites to run with it. I started implementation of some sort of "deploy plan", using profile based on views, you construct a set of views, saved them in a profile, then all objects that these views reference will be synchronized.
Right now, the module fully synchronize taxonomy and content types, partially synchronize users (including core account information and passwords), and I have a small bug left to handle with nodes (revision problem I think).
There might be a performance or overhead problem with this conception with a very large amount of data, it could break easily. The only way to be sure it won't break is I think to migrate stuff with a numerous small set of data. But the problem doing this is that it will be really hard to keep the transactional context of DataSync module.
There is a lot of other custom goodies coming.
First thing is, what do you think about such module, should I commit it on drupal.org? Is there people interested?
And, now that I described the module, what name should I give him, considering the fact I'll probably commit it on drupal.org, if people are interested.
I though about "YAMM" (Yet Another Migration Module), or YADM (Yet Another Deployment Module).
The fact is there is *a lot* of modules which want to do the same thing as this one, I just want a simple an expressive name.
Pierre.
On Sat, Aug 1, 2009 at 9:13 AM, Kathleen Murtagh<kathleen@ceardach.com> wrote:
I would encourage you to contribute it to drupal.org. It doesn't matter if it is "yet another xxx". It is an area with no set solutions, and the more ideas the better.
Contributing it will enable more people to use it, discuss improvements, and overall help push the deployment issue forward.
I totally agree, but... In multiple surveys the number 1 problem for visitors to drupal.org is figuring out which module to use. I just request that anyone contributing a "duplicate" module go to great lengths to document the differences between their module and the existing solutions. I documented some of the places where the topic is discussed in http://lists.drupal.org/pipermail/support/2009-July/012609.html Based on Pierre's initial e-mail on the topic it seems like he will do a great job on documenting this module - I look forward to seeing it! Greg -- Greg Knaddison | 303-800-5623 | http://growingventuresolutions.com Cracking Drupal - Learn to protect your Drupal site from hackers Now available from Wiley http://crackingdrupal.com
I agree with all above - by all means, please do contribute it! But also, on the project page, provide links to other existing projects that try to do the same thing and give (at least) a cursory overview of the differences. This last part isn't *essential* (ie, you'll be forgiven for not doing it) but is extremely helpful and goes a long way towards helping alleviate some of the trouble of 'contrib creep' The module sounds great, and I look forward to having a chance to play around with it! On 8/1/09, Greg Knaddison <Greg@growingventuresolutions.com> wrote:
On Sat, Aug 1, 2009 at 9:13 AM, Kathleen Murtagh<kathleen@ceardach.com> wrote:
I would encourage you to contribute it to drupal.org. It doesn't matter if it is "yet another xxx". It is an area with no set solutions, and the more ideas the better.
Contributing it will enable more people to use it, discuss improvements, and overall help push the deployment issue forward.
I totally agree, but...
In multiple surveys the number 1 problem for visitors to drupal.org is figuring out which module to use. I just request that anyone contributing a "duplicate" module go to great lengths to document the differences between their module and the existing solutions.
I documented some of the places where the topic is discussed in http://lists.drupal.org/pipermail/support/2009-July/012609.html
Based on Pierre's initial e-mail on the topic it seems like he will do a great job on documenting this module - I look forward to seeing it!
Greg
-- Greg Knaddison | 303-800-5623 | http://growingventuresolutions.com Cracking Drupal - Learn to protect your Drupal site from hackers Now available from Wiley http://crackingdrupal.com
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Pierre Rineau schrieb:
Hello all,
Working on some custom project for my company, I developed a module to do massive migration between sites.
This module uses a full OO layer.
Its internal mechanism is based on abstracting objects to migrate from a master site to clients. This abstraction defines how to construct object dependency tree and how to serialize objects.
Object implementation (node, user, taxonomy, whatever) is really simple to use, it's only 3 methods classes (register dependencies, save, and update) using some kind of custom registry for developer to save/get back data before and after serialization.
All error handling is exception oriented, and lower software layers won't fail on higher layers unrecoverable errors.
Object fetching is based on a push/pull mechanism. Server push the sync order, client responds OK or not. If OK, it creates a job using DataSync module which allow it to run as CLI thread (which won't hurt the web server, and allow us a larger memory limit at run time).
I am generally not happy with datasync's approach to run shell-scripts as the webserver user. Have you considered to use Drush instead?
During the DataSync job execution, client will pull an original set of content, and browsing it will do incremental dependencies fetching (by pulling again server), based on xmlrpc (fetching component is also abstracted, and could be any other communication method than xmlrpc).
Wouldn't the server better be qualified to decide which data the client needs?
To be unobtrusive on the system, smart unset() is done after building a dependencies subtree, and there is a recursion breaker in case of circular dependencies.
Have you tried it with php 5.3?
This module was created because the deploy module seems to be so unstable, I did not want to risk client's production sites to run with it. I started implementation of some sort of "deploy plan", using profile based on views, you construct a set of views, saved them in a profile, then all objects that these views reference will be synchronized.
Right now, the module fully synchronize taxonomy and content types, partially synchronize users (including core account information and passwords), and I have a small bug left to handle with nodes (revision problem I think).
There might be a performance or overhead problem with this conception with a very large amount of data, it could break easily.
How large is your "very large"? If I wanted to sync 10k nodes to 100 client sites, how successful would I be?
The only way to be sure it won't break is I think to migrate stuff with a numerous small set of data. But the problem doing this is that it will be really hard to keep the transactional context of DataSync module.
Yeah, one reason to let the server handle this, no?
There is a lot of other custom goodies coming.
First thing is, what do you think about such module, should I commit it on drupal.org? Is there people interested?
I am certainly interested, especially if my concerns from above can be addressed. ;)
And, now that I described the module, what name should I give him, considering the fact I'll probably commit it on drupal.org, if people are interested.
I though about "YAMM" (Yet Another Migration Module), or YADM (Yet Another Deployment Module).
The fact is there is *a lot* of modules which want to do the same thing as this one, I just want a simple an expressive name.
Data migration is an important and diverse task. IMO it doesn't hurt to have several approaches. Cheers, Gerhard -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkp0YGAACgkQfg6TFvELooSOzACfUr5q/9Eu5b8YETgXu6CNYLZN JugAn1j8/8nlbVV55RmsP9ZLc9px35/A =rk5A -----END PGP SIGNATURE-----
On Sat, 2009-08-01 at 17:33 +0200, Gerhard Killesreiter wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Pierre Rineau schrieb:
Hello all,
Working on some custom project for my company, I developed a module to do massive migration between sites.
This module uses a full OO layer.
Its internal mechanism is based on abstracting objects to migrate from a master site to clients. This abstraction defines how to construct object dependency tree and how to serialize objects.
Object implementation (node, user, taxonomy, whatever) is really simple to use, it's only 3 methods classes (register dependencies, save, and update) using some kind of custom registry for developer to save/get back data before and after serialization.
All error handling is exception oriented, and lower software layers won't fail on higher layers unrecoverable errors.
Object fetching is based on a push/pull mechanism. Server push the sync order, client responds OK or not. If OK, it creates a job using DataSync module which allow it to run as CLI thread (which won't hurt the web server, and allow us a larger memory limit at run time).
I am generally not happy with datasync's approach to run shell-scripts as the webserver user. Have you considered to use Drush instead?
Drush might be something to look at, but in fact it's because of the DataSync transaction support I did choose this module.
During the DataSync job execution, client will pull an original set of content, and browsing it will do incremental dependencies fetching (by pulling again server), based on xmlrpc (fetching component is also abstracted, and could be any other communication method than xmlrpc).
Wouldn't the server better be qualified to decide which data the client needs?
The server decides, it gives a transaction id to client, then the client request (at pull time) data giving its transaction id, without knowing what is coming. The whole import part is handled by client browsing a list of abstract entities without knowing what's the exact implementation.
To be unobtrusive on the system, smart unset() is done after building a dependencies subtree, and there is a recursion breaker in case of circular dependencies.
Have you tried it with php 5.3?
PHP 5.3 has too many differences with prior versions, I don't really want to support it. The fact is it's maybe already outdated because of PHP 6 devel.
This module was created because the deploy module seems to be so unstable, I did not want to risk client's production sites to run with it. I started implementation of some sort of "deploy plan", using profile based on views, you construct a set of views, saved them in a profile, then all objects that these views reference will be synchronized.
Right now, the module fully synchronize taxonomy and content types, partially synchronize users (including core account information and passwords), and I have a small bug left to handle with nodes (revision problem I think).
There might be a performance or overhead problem with this conception with a very large amount of data, it could break easily.
How large is your "very large"? If I wanted to sync 10k nodes to 100 client sites, how successful would I be?
I can't tell you that right now, I'm in active development and only test on small amount of data (something about ten nodes). I need to test and benchmark it to discover its limits, it's at an early development stage right now.
The only way to be sure it won't break is I think to migrate stuff with a numerous small set of data. But the problem doing this is that it will be really hard to keep the transactional context of DataSync module.
Yeah, one reason to let the server handle this, no?
There is a lot of other custom goodies coming.
First thing is, what do you think about such module, should I commit it on drupal.org? Is there people interested?
I am certainly interested, especially if my concerns from above can be addressed. ;)
And, now that I described the module, what name should I give him, considering the fact I'll probably commit it on drupal.org, if people are interested.
I though about "YAMM" (Yet Another Migration Module), or YADM (Yet Another Deployment Module).
The fact is there is *a lot* of modules which want to do the same thing as this one, I just want a simple an expressive name.
Data migration is an important and diverse task. IMO it doesn't hurt to have several approaches.
Cheers, Gerhard -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkp0YGAACgkQfg6TFvELooSOzACfUr5q/9Eu5b8YETgXu6CNYLZN JugAn1j8/8nlbVV55RmsP9ZLc9px35/A =rk5A -----END PGP SIGNATURE-----
Pierre.
Thanks all for you answers, I will commit it as soon as I have a first stable release (at least stable enough for a beta or rc release). Meanwhile, I still need to find it a name! On Sat, 2009-08-01 at 15:50 +0200, Pierre Rineau wrote:
Hello all,
Working on some custom project for my company, I developed a module to do massive migration between sites.
This module uses a full OO layer.
Its internal mechanism is based on abstracting objects to migrate from a master site to clients. This abstraction defines how to construct object dependency tree and how to serialize objects.
Object implementation (node, user, taxonomy, whatever) is really simple to use, it's only 3 methods classes (register dependencies, save, and update) using some kind of custom registry for developer to save/get back data before and after serialization.
All error handling is exception oriented, and lower software layers won't fail on higher layers unrecoverable errors.
Object fetching is based on a push/pull mechanism. Server push the sync order, client responds OK or not. If OK, it creates a job using DataSync module which allow it to run as CLI thread (which won't hurt the web server, and allow us a larger memory limit at run time). DataSync module uses MySQL transactions (shame it's only MySQL compliant, but I hope it will evolve, I'm thinking about PostgreSQL).
During the DataSync job execution, client will pull an original set of content, and browsing it will do incremental dependencies fetching (by pulling again server), based on xmlrpc (fetching component is also abstracted, and could be any other communication method than xmlrpc).
To be unobtrusive on the system, smart unset() is done after building a dependencies subtree, and there is a recursion breaker in case of circular dependencies.
This module was created because the deploy module seems to be so unstable, I did not want to risk client's production sites to run with it. I started implementation of some sort of "deploy plan", using profile based on views, you construct a set of views, saved them in a profile, then all objects that these views reference will be synchronized.
Right now, the module fully synchronize taxonomy and content types, partially synchronize users (including core account information and passwords), and I have a small bug left to handle with nodes (revision problem I think).
There might be a performance or overhead problem with this conception with a very large amount of data, it could break easily. The only way to be sure it won't break is I think to migrate stuff with a numerous small set of data. But the problem doing this is that it will be really hard to keep the transactional context of DataSync module.
There is a lot of other custom goodies coming.
First thing is, what do you think about such module, should I commit it on drupal.org? Is there people interested?
And, now that I described the module, what name should I give him, considering the fact I'll probably commit it on drupal.org, if people are interested.
I though about "YAMM" (Yet Another Migration Module), or YADM (Yet Another Deployment Module).
The fact is there is *a lot* of modules which want to do the same thing as this one, I just want a simple an expressive name.
Pierre.
Oh, and I should precise, it may won't be released until we deliver our project to client (which is, if I remember well maybe in over a month). Because their needs can evolve, some architectural choices may too. But don't worry, any changes on what I explained shouldn't be more that some higher abstraction level and new features. To answer about documentation, I'll try to write some and also give some diagrams, but as DataSync relies on the system, it may be not that easy to install. I'll see in some days when I'll start deploying it on a preprod environment. Pierre. On Sat, 2009-08-01 at 15:50 +0200, Pierre Rineau wrote:
Hello all,
Working on some custom project for my company, I developed a module to do massive migration between sites.
This module uses a full OO layer.
Its internal mechanism is based on abstracting objects to migrate from a master site to clients. This abstraction defines how to construct object dependency tree and how to serialize objects.
Object implementation (node, user, taxonomy, whatever) is really simple to use, it's only 3 methods classes (register dependencies, save, and update) using some kind of custom registry for developer to save/get back data before and after serialization.
All error handling is exception oriented, and lower software layers won't fail on higher layers unrecoverable errors.
Object fetching is based on a push/pull mechanism. Server push the sync order, client responds OK or not. If OK, it creates a job using DataSync module which allow it to run as CLI thread (which won't hurt the web server, and allow us a larger memory limit at run time). DataSync module uses MySQL transactions (shame it's only MySQL compliant, but I hope it will evolve, I'm thinking about PostgreSQL).
During the DataSync job execution, client will pull an original set of content, and browsing it will do incremental dependencies fetching (by pulling again server), based on xmlrpc (fetching component is also abstracted, and could be any other communication method than xmlrpc).
To be unobtrusive on the system, smart unset() is done after building a dependencies subtree, and there is a recursion breaker in case of circular dependencies.
This module was created because the deploy module seems to be so unstable, I did not want to risk client's production sites to run with it. I started implementation of some sort of "deploy plan", using profile based on views, you construct a set of views, saved them in a profile, then all objects that these views reference will be synchronized.
Right now, the module fully synchronize taxonomy and content types, partially synchronize users (including core account information and passwords), and I have a small bug left to handle with nodes (revision problem I think).
There might be a performance or overhead problem with this conception with a very large amount of data, it could break easily. The only way to be sure it won't break is I think to migrate stuff with a numerous small set of data. But the problem doing this is that it will be really hard to keep the transactional context of DataSync module.
There is a lot of other custom goodies coming.
First thing is, what do you think about such module, should I commit it on drupal.org? Is there people interested?
And, now that I described the module, what name should I give him, considering the fact I'll probably commit it on drupal.org, if people are interested.
I though about "YAMM" (Yet Another Migration Module), or YADM (Yet Another Deployment Module).
The fact is there is *a lot* of modules which want to do the same thing as this one, I just want a simple an expressive name.
Pierre.
I agree with Greg's and others remarks about documentation and showing difference with other modules... and you can see this is already a fascinating discussion because it adressess so many needs. But the bottom line is you should not feel you have to jump through hoops to post an early version! Go ahead and refactor later. Victor On Sat, Aug 1, 2009 at 12:47 PM, Pierre Rineau < pierre.rineau@makina-corpus.com> wrote:
Oh, and I should precise, it may won't be released until we deliver our project to client (which is, if I remember well maybe in over a month). Because their needs can evolve, some architectural choices may too.
But don't worry, any changes on what I explained shouldn't be more that some higher abstraction level and new features.
To answer about documentation, I'll try to write some and also give some diagrams, but as DataSync relies on the system, it may be not that easy to install. I'll see in some days when I'll start deploying it on a preprod environment.
Pierre.
On Sat, 2009-08-01 at 15:50 +0200, Pierre Rineau wrote:
Hello all,
Working on some custom project for my company, I developed a module to do massive migration between sites.
This module uses a full OO layer.
Its internal mechanism is based on abstracting objects to migrate from a master site to clients. This abstraction defines how to construct object dependency tree and how to serialize objects.
Object implementation (node, user, taxonomy, whatever) is really simple to use, it's only 3 methods classes (register dependencies, save, and update) using some kind of custom registry for developer to save/get back data before and after serialization.
All error handling is exception oriented, and lower software layers won't fail on higher layers unrecoverable errors.
Object fetching is based on a push/pull mechanism. Server push the sync order, client responds OK or not. If OK, it creates a job using DataSync module which allow it to run as CLI thread (which won't hurt the web server, and allow us a larger memory limit at run time). DataSync module uses MySQL transactions (shame it's only MySQL compliant, but I hope it will evolve, I'm thinking about PostgreSQL).
During the DataSync job execution, client will pull an original set of content, and browsing it will do incremental dependencies fetching (by pulling again server), based on xmlrpc (fetching component is also abstracted, and could be any other communication method than xmlrpc).
To be unobtrusive on the system, smart unset() is done after building a dependencies subtree, and there is a recursion breaker in case of circular dependencies.
This module was created because the deploy module seems to be so unstable, I did not want to risk client's production sites to run with it. I started implementation of some sort of "deploy plan", using profile based on views, you construct a set of views, saved them in a profile, then all objects that these views reference will be synchronized.
Right now, the module fully synchronize taxonomy and content types, partially synchronize users (including core account information and passwords), and I have a small bug left to handle with nodes (revision problem I think).
There might be a performance or overhead problem with this conception with a very large amount of data, it could break easily. The only way to be sure it won't break is I think to migrate stuff with a numerous small set of data. But the problem doing this is that it will be really hard to keep the transactional context of DataSync module.
There is a lot of other custom goodies coming.
First thing is, what do you think about such module, should I commit it on drupal.org? Is there people interested?
And, now that I described the module, what name should I give him, considering the fact I'll probably commit it on drupal.org, if people are interested.
I though about "YAMM" (Yet Another Migration Module), or YADM (Yet Another Deployment Module).
The fact is there is *a lot* of modules which want to do the same thing as this one, I just want a simple an expressive name.
Pierre.
On Aug 1, 2009, at Sat 8/1/09 9:51am, Victor Kane wrote:
I agree with Greg's and others remarks about documentation and showing difference with other modules... and you can see this is already a fascinating discussion because it adressess so many needs.
And I will just add that there is a Groups.Drupal.org group where "duplicate" modules can be described, discussed, hashed out, walked on, sized up, compared, and so on. There you will find a wiki for import/migration modules: http://groups.drupal.org/node/21338 Add yours there when the time comes! Laura
And don't forget that there is now a section in the handbooks for comparing similar modules. Many more people are likely to find that than a group. -- Nancy E. Wichmann, PMP Injustice anywhere is a threat to justice everywhere. -- Dr. Martin L. King, Jr.
For information, migrating 1000 nodes in one shot took 13 minutes, the php cli script used a maximum of 60M of ram for the operation. I think what took most of the time is spent in the node_save() function (I need to do some xdebug profiling to be sure). Pierre.
Hello all, I was talking some days/weeks ago about a content synchronization module, I'm glad to announce I wrote the project page. Ok, a project page is not much, but it's a good project description, and a centralized point to get back YOUR opinion. I will commit the project files in one week or two (just before DrupalCon Paris, where I will be). I will also try to add a list of modules which does the same kind of stuff. Pierre.
For all people that are aware of the migration and synchronization problematic, we just released Yamm. See project page, http://drupal.org/project/yamm I would be really glad the hear some feedback, see some interesting discussion threads opening, or just see some new issues arriving! Regards, Pierre.
Quoting Pierre Rineau <pierre.rineau@makina-corpus.com>:
For all people that are aware of the migration and synchronization problematic, we just released Yamm.
See project page, http://drupal.org/project/yamm
I would be really glad the hear some feedback, see some interesting discussion threads opening, or just see some new issues arriving!
Sounds more like sweet potato pie. ;-D Sorry, could resist. -- Earnie -- http://r-feed.com/ -- http://for-my-kids.com/ -- http://www.4offer.biz/ -- http://give-me-an-offer.com/
Humpfff !! I am also a kitchen warrior On Mon, 2009-08-17 at 13:39 +0000, Earnie Boyd wrote:
Quoting Pierre Rineau <pierre.rineau@makina-corpus.com>:
For all people that are aware of the migration and synchronization problematic, we just released Yamm.
See project page, http://drupal.org/project/yamm
I would be really glad the hear some feedback, see some interesting discussion threads opening, or just see some new issues arriving!
Sounds more like sweet potato pie. ;-D Sorry, could resist.
-- Earnie -- http://r-feed.com/ -- http://for-my-kids.com/ -- http://www.4offer.biz/ -- http://give-me-an-offer.com/
participants (9)
-
Earnie Boyd -
Gerhard Killesreiter -
Greg Knaddison -
Kathleen Murtagh -
Laura -
nan_wich@bellsouth.net -
Pierre Rineau -
Victor Kane -
William Smith