Jump to content

Batch Child Editor


adrian

Recommended Posts

Yes they are disabled by default, but I just added a new option under Content / Deletion / Protection to enable BCE editing of the Admin page branch.

Works fine, thanks. Is it enabled only for superusers?

Link to comment
Share on other sites

Works fine, thanks. Is it enabled only for superusers?

Not specifically - I thought about that, but AFAIK, only superusers can see/edit the Admin page tree anyway, so I don't think it should matter, but please let me know if you discover otherwise.

Link to comment
Share on other sites

I've just updated this module to the latest version, and now when the editor's in a new tab none of the child pages show up. If it's set to bottom/top then it shows perfectly.

Thanks for the report - can you please try the latest version I just committed and let me know.

Link to comment
Share on other sites

There's a php notice after deleting a page. Seems unrelated to the new "admin edit" feature because it appears with and without enabling that. Using version 1.1.9, PW 306.

PHP Notice: Trying to get property of non-object ... in Page.php:780
Link to comment
Share on other sites

There's a php notice after deleting a page. Seems unrelated to the new "admin edit" feature because it appears with and without enabling that. Using version 1.1.9, PW 306.

PHP Notice: Trying to get property of non-object ... in Page.php:780

I'm not seeing that here - is this in edit mode? Are you deleting with the trashcan icon next to a page, or using the modal edit and deleting there? Or are you using a different BCE mode?

Link to comment
Share on other sites

Yes, Edit mode, and position: Replace, plus enable admin page editing, nothing else was changed. Using the trash icon for deletion.

This is a multilanguage setup so perhaps it's only ML issue.

Using the usual page delete (non-BCE) there is no php notice.

Link to comment
Share on other sites

Ok, I have tried with a ML setup and still can't reproduce. Could you please confirm what link 780 of Page.php is? Is it this commit:

https://github.com/ryancramerdesign/ProcessWire/blob/e3d6b894c27b5fed8d1ffd088b79d9c79b7e79ec/wire/core/Page.php#L780

I think that is the version from 3.0.6 - it was last updated 5 days ago, which should be before the 3.0.7 changes.

Thanks!

Link to comment
Share on other sites

Thanks to a stack trace from @tpr the warning has been fixed in the latest version.

I also corrected an issue with the content protection check that may not have been working as expected for child pages with completed field content, so you may find that you need to check that config setting now where you may not have before, depending on your use case. I also added some more detailed notes about what this default mode means. To be honest, I always check to disable it, because otherwise it limits deletion of pages in edit and replace modes in many situations, but I still think it is an important default setting.

Link to comment
Share on other sites

  • 1 month later...

Using 3.0.12 devns with BCE 1.2.7 localhost,

have a simple template with this kind of fields: title,textfield,textfield,textfield

i've added some pages manually and exported them:

Title;geo_lat;geo_long;geo_name
84171;121.976.250.779.091;484.157.637.838.784;Baierbach
84169;12.189.296.528.466;484.461.922.885.864;Altfraunhofen
84172;120.430.843.110.488;484.418.204.716.832;"Buch am Erlbach"

If i import pages in the same format the title is imported but nothing else.

If i change the first value as this would the title and import the exported data...the same title is getting imported and all other fields are empty no error no hint?

I don't know why the import is not working....used this module so often. :undecided:

best regards mr-fan

Link to comment
Share on other sites

Sorry about that @mr-fan - looks like a forgot to change the name of a few variables when I did some refactoring a while back. This only affected CSV creation of pages.

Please check the latest version and let me know if you still have any problems.

I know I am OT and bordering on self promotion (actually it's promoting the Tracy guys), but the new AJAX functionality that just got added to TracyDebugger made debugging this so easy :)

  • Like 3
Link to comment
Share on other sites

Thank you very much!

Will testing soon....I'm testing PW dev with modules that i use and - TracyDebugger - is on my list, too!!

I wish to get more deeper into the rabbit hole and i think tracy would help me to find a faster/better way.

Padawan i am - learning i should ;)

  • Like 3
Link to comment
Share on other sites

Hi! This is an awesome module!

Just something happened to me right now, I was exporting/reimporting pages through CSV, and didn't notice that I had some fields using markdown, so when exporting it was the actual HTML formatting that was exported, so when importing back, things didn't make sense. I don't know if there should be "Respect markdown field" or something in the export settings. Maybe I'm just being nitpicky but thought I could just comment the case here.

Also, I think this might be due to my CSV editor, but when importing the edited CSV, I had issues with line breaks in HTML, am I doing something wrong here? Because the initially exported CSV from the module, imported just fine inside the editor (Numbers) even with the line breaks in the HTML, but when importing back everything got messy :D

Then again, thanks a bunch! I was looking for a "batch pages fields editor" and found this module to be very useful to edit a bunch of Youtube links, from a bunch of pages.

  • Like 2
Link to comment
Share on other sites

Hi @elabx - glad you're finding the module so useful.

I think this line is the culprit: https://github.com/adrianbj/BatchChildEditor/blob/master/ProcessChildrenCsvExport.module#L106

I think there are use cases for wanting the CSV export formatted and cases when you wouldn't want it formatted. I will make this configurable so that the dev (and optionally the user) can decide. But before I do that, could you please comment out that line to make sure everything works as expected for you.

Actually I see another line that will interfere for multiplier and file fields: https://github.com/adrianbj/BatchChildEditor/blob/master/ProcessChildrenCsvExport.module#L183 - this may or may not affect you.

Thanks!

  • Like 1
Link to comment
Share on other sites

Hi!

Indeed it solved the Markdown issue! Though the newline characters are still messing with me, for example, in the Markdown lists that actually need the line break to format correctly. I thought it had something to do with my editor, but I just tried exporting/importing the same file and it doesn´t work. I mean, Excel or Numbers read the file just fine, so I am guessing there might me something off on how the module parses back the file?.. Just throwing rocks at the problem here :D

Proof that I'm not going mad haha: 

http://imgur.com/FjfAXha

Somehow I feel this will steer into something to do with encodings, a topic in which unfortunately I'm not very knowledgeable. Sorry if this is getting a bit off topic! Thanks for your help!

  • Like 2
Link to comment
Share on other sites

Ok, I have added an optional "Format Export" option. It is on by default when you upgrade to the latest version of BCE, but you can easily uncheck this in the module config settings and then your imports should work as expected.

As for the line break stuff - to make it easier for me to debug, could you please send me an example CSV export from BCE that shows the problem.

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

Hello,

I'm having issues w/ BCE importing a CSV that is first generated by the BCE CSV Export feature.  For some reason, when I re-import, I'm getting the following error:

"Session: The number of columns/fields in your CSV is not enough for number of fields defined for this import. Nothing can be safely imported."

I've double checked the CSV's column names to ensure that the number of fields match the related template.  I've also then inputted the "CSV Field Pairings" exactly to match the template and the CSV.

I've tried this with "ignore first row" unchecked w/ a corresponding CSV that includes the fieldnames in the first row, and also tried checking the "ignore first row" option and excluding the corresponding first row in the CSV.  

I have a total of 45 fields in the template, 45 defined in the CSV Field pairing setting box, and 45 columns in the CSV.

Not sure what I'm missing here, but could this have anything to do w/ the fact that I'm using page fieldtypes for at least 5 of the fields / columns?

Other than that, I can't make heads or tails as to where the error lies.

Link to comment
Share on other sites

Note: ATTACHING A FOLLOWUP to this post from earlier...i.e. when I try to import just 3 fields, 1 being a multi-value page fieldtype, I get the following error:

ProcessWire: ProcessPageEdit: Page 30 is not valid for product_item_weight_or_count (Page 30 does not have required parent 1055)

So the question becomes, how do I properly re-import this data?  The exported data shows piped values correctly: e.g. 30|50|75

How should the import data appear and include the required parent reference?

Also, how do I define the CSV Field pairings?    e.g. parent.subfield    OR simply the template fieldname (product_item_weight_or_count)
 

post-3032-0-84156000-1461871842_thumb.pn

Link to comment
Share on other sites

Just a heads-up that there appears to be a conflict between Batch Child Editor and Pierre-Luc's Password Reset module.

ProcessWire: ProcessPageEdit: Unknown template
#0 ...\site\modules\BatchChildEditor\BatchChildEditor.module(711): BatchChildEditor->isAllowedTemplateAdd(147, Object(Page))
#1 ...\site\modules\BatchChildEditor\BatchChildEditor.module(348): BatchChildEditor->createChildEditSet(Object(Page), Object(Page), Object(InputfieldWrapper))
#2 ...\wire\core\Wire.php(459): BatchChildEditor->addChildEditFieldset(Object(HookEvent))
#3 ...\wire\core\Wire.php(333): Wire->runHooks('buildFormChildr...', Array)
#4 ...\wire\modules\Process\ProcessPageEdit\ProcessPageEdit.module(456): Wire->__call('buildFormChildr...', Array)
#5 ...\wire\modules\Process\ProcessPageEdit\ProcessPageEdit.module(456): ProcessPageEdit->buildFormChildren()
Link to comment
Share on other sites

@shamus - sorry for the delay in getting back to you - I have made a start on investigating this and improving the importing in general - stay tuned!

@Robin S - I posted about this here: https://processwire.com/talk/topic/10517-frontend-password-reset/?p=119386 - it's a bug in the Password Reset module, but I have implemented a check in BCE that will prevent the error - instructions on how to implement are also in that thread.

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...