The Mirrors module automagicly creates exporters and importers for active
bundles.
Exports are Views Data Exports in CSV format.
Imports are Feeds.
This module supports specific core entites and fields.
Supported Entities:
- node
- taxonomy_term
- user
Supported Fields:
- boolean
- date
- decimal
- integer
- list
- taxonomy_term
- text
- text_formatted
Supported Properties:
- boolean
- date
- integer
- text
Installation:
1. Enable this module.
2. Enable 'Views UI' and 'Feeds UI'
3. Visit 'admin/structure/views' to see all exporters for active bundles.
4. Visit 'admin/structure/feeds' to see all importers for active bundles.
Link to the sandbox:
https://drupal.org/sandbox/nielsdefeyter/2088997
Link to the repository:
git clone --branch 7.x-1.x nielsdefeyter@git.drupal.org:sandbox/nielsdefeyter/2088997.git mirrors
Comments
Comment #1
ndf commentedDependencies:
Views
Feeds
Views data export (>7.x-3.0-beta6+42)
Boolean formatter
Comment #2
PA robot commentedThere are some errors reported by automated review tools, did you already check them? See http://pareview.sh/pareview/httpgitdrupalorgsandboxnielsdefeyter2088997git
We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)
Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #3
summit commentedHi,
Exports are Views Data Exports in CSV format and Imports are Feeds. That seems a great couple!
Hopefully this project goes through!
I like the idea very much.
Greetings, Martijn
Comment #4
ndf commentedComment #5
ndf commentedFixed all errors thrown by pareview.sh. Great tool! Before submitting I only reviewed via the 'coder' module.
For reviewers: I think the most important functions i.e. logic is in these 3 files/functions:
- mirrors.module --> mirrors_bundles()
- mirrors.views.inc --> mirrors_views_create()
- mirrors.feeds.inc --> mirrors_feeds_create()
Would really appreciate if you can feedback on setup/architecture of this module.
Comment #6
ndf commentedComment #7
vijaycs85Nice module for export/import config. Just did a manual review and here is my comments:
1.
Seems we are expecting hook_entity/field/property_types_alter() to alter this list? may be it is worth looking for hook_mirrors_entity/field/property_types_alter()?
2.
Seems we just get bundle and alter them with property and fields. Can we get argument by reference, if thats that case? So the above will become
and definition just change to:
3.
as per hook_permission, the key always small case and title is human-readable. So this array will be:
4.
Is there anyway to load the includes on function level instead of module header? if it needs to be there, we can add them in .info files[] ?
5. field/list.inc is empty. Can we add definition, if there one otherwise delete this file?
6. all files inside fields directory has file docblock as 'Field Declarations'. Can we make them bit more specific about what that file contains?
Comment #8
vijaycs85Comment #9
ndf commentedHi Mani, thank you for your useful review.
Understand all your comments and I will solve them within a couple of days.
Comment #10
ndf commented#7
1, 2, 3: changed as recommended.
4: All module_load_includes are now within function instead of module scope.
Functions hook_views_defaults() and hook_feeds_defaults() are now located inside mirrors.module instead of a separate file.
Therefore I also moved hook_views_api() and hook_ctools_plugin_api() to mirrors.module.
I am not sure if this is the preferred way.
5: Removed list.inc and cleanup references to unused .inc declarations.
6: Improved docblocks in all .inc declarations files. Specialties are commented per file (for example a dependency).
Comment #11
ndf commentedComment #12
kscheirerYour hookable functions should be documented in a mirrors.api.php file, see https://drupal.org/coding-standards/docs#functions.
Ok, I have to admin I don't understand what this module does. It looks really cool! Can you explain a little more about what it does and why I would want to use it? I can't find any code problems.
----
Top Shelf Modules - Crafted, Curated, Contributed.
Comment #13
ndf commentedHi Karl, thank you for your review. I'm gonna work on the api documentation quite soon. I already made a mirrors_commerce sandbox that implements this api for entities and fields. I expect to commit within a week from now.
Comment #14
kscheirerCan you mention a little more about the use case for this module? Does it export/import the bundle definitions or the bundle content?
Comment #15
ndf commented#14: added mirrors.api.php with several examples about inner working and extendibility of this module.
Comment #16
ndf commented#13: improved README and project description. It's all about content export/import here.
In above file some examples and use-cases.
Comment #17
ndf commentedSo a very busy and productive day. I hope this is good enough to go-live with this module. I am planning to keep it improving this year. As told with a mirrors_commerce contrib and I also have plans to integrate entity_reference and migrate in a feature 2.x release.
If you are planning to use this module, see improvements or if you are just curious about it let me know!
Thank all for testing and great support!
Comment #18
ndf commentedIs it possible to promote this module to a -dev version?
That way I think it possible to get more feedback and support from people so we can improve this module's usage and functionality.
Excuse me if this is question isn't appropriate. Thanks in advance.
Comment #19
ndf commentedComment #20
kscheirerBased on the fact that there are no objections since #12,
Thanks for your contribution, nielsdefeyter!
I updated your account to let you promote this to a full project and also create new projects as either a sandbox or a "full" project.
Here are some recommended readings to help with excellent maintainership:
You can find lots more contributors chatting on IRC in #drupal-contribute. So, come hang out and get involved!
Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.
Thanks to the dedicated reviewer(s) as well.
----
Top Shelf Modules - Crafted, Curated, Contributed.
Comment #21
ndf commentedHappy!
Comment #22
Bram Rongen commentedCool looking module, could save a ton of work!
Comment #23
gobinathmClosing this application as its been fixed & respective account has been updated
Comment #24
klausiNo need to do that, fixed issues will close automatically after 2 weeks. This gives interested parties time to reactivate the issue if they see a problem with the fix and also allows time to see that a change has been made. See https://drupal.org/node/156119